알파피망 슬롯
저자
Tapio Westerlund (twesterl@abo.fi) 및 Toni Lastusilta. 핀란드 오보 아카데미 대학교
빌-페카 에로넨. 핀란드 투르쿠 대학교

소개

AlphaECP는 피망 슬롯(확장 절단 평면) 방법을 기반으로 하는 MINLP(혼합 정수 비선형 프로그래밍) 솔버입니다. 솔버는 일반적인 MINLP 문제에 적용될 수 있으며 의사 볼록 MINLP 문제에 대한 전역 최적 솔루션을 보장할 수 있습니다. 문서는 달리 명시되지 않는 한 고려된 문제가 최소화 문제인 것처럼 작성되었습니다.

피망 슬롯 방법은 원래 볼록 NLP 문제에 대해 제공된 Kelley의 평면 절단 방법을 확장한 것입니다. [104] . 이 방법은 각 반복에서 MIP 하위 문제의 솔루션만 필요합니다. MIP 하위 문제는 최적성, 실현 가능성으로 해결되거나 중간 반복에서 정수 완화 솔루션으로만 해결될 수 있습니다. 이는 피망 슬롯 알고리즘을 효율적이고 구현하기 쉽게 만듭니다. 기본 알고리즘에 대한 추가 정보는 [에서 확인할 수 있습니다.198] 및 [144, 173, 197, 199] .

GAMS/AlphaECP 알고리즘이 추가로 개발되면서 추가 기능이 도입되었습니다. 이제 피망 슬롯 솔루션에서 NLP 솔버를 호출할 수 있습니다. 이는 특히 주로 연속 변수를 포함하는 MINLP 문제에 대해 실현 가능하고 정확한 솔루션을 찾는 AlphaECP의 능력을 향상시킵니다. 또한 반복 절차 중에 절단면을 다시 선택하는 경험적 방법을 사용하여 볼록하지 않은 문제를 해결하는 능력을 향상시킬 수 있습니다. 제약 허용 오차를 기반으로 한 종료 외에도 알고리즘은 상대적 객관적인 간격 종료 기준이 충족되는 경우에도 종료할 수 있습니다. 이는 볼록 문제에만 지원됩니다.

라이센스 및 소프트웨어 요구사항

GAMS/AlphaECP를 사용하려면 사용자는 GAMS/AlphaECP 라이센스가 필요합니다. 또한 혼합 정수 하위 문제를 해결하려면 라이선스가 부여된 피망 슬롯 솔버가 필요하며, NLP 옵션을 사용하는 경우 라이선스가 부여된 NLP 솔버가 필요합니다.

AlphaECP 실행 중

AlphaECP는 MINLP 모델을 해결합니다. AlphaECP가 이러한 모델의 기본 솔버로 지정되지 않은 경우 솔버 문 앞에 다음 명령을 실행하여 호출할 수 있습니다.

옵션 minlp=alphaecp, miqcp=alphaecp;

원칙적으로 AlphaECP는 NLP 모델도 처리할 수 있지만 MINLP 문제에 더 적합합니다. 그러나 NLP 솔버와 결합하면 NLP 솔버가 자체적으로 찾을 수 없는 솔루션을 찾을 수 있습니다. 이 경우 좋은 시작점 생성기 역할을 합니다. AlphaECP로 NLP를 해결하려면 다음을 수행해야 합니다.트릭NLP를 MINLP로 해결하여 GAMS 시스템:

minlp를 사용하여 obj를 최소화하는 mynlpmodel을 해결합니다.

제약 위반은 AlphaECP 진행 과정 전반과 알고리즘 종료 시에 보고됩니다. 위반은 비선형 구속조건에 대해서만 보고됩니다. 선형 제약 조건 위반에는 피망 슬롯/NLP 솔버의 실현 가능성 허용 범위가 적용됩니다.

GAMS/AlphaECP 출력

아래 로그 출력은 GAMS 모델 라이브러리의 MINLP 모델 Fuel.gms에 대해 획득되었습니다.

------------------------------------------------------------------
                  AlphaECP v2.11.01에 오신 것을 환영합니다.
 확장된 절단 평면 접근 방식을 사용하는 MINLP 문제 해결사.
 방법 개발 - T.Westerlund, Abo Akademi University, FIN
 알고리즘 개발 - T.Lastusilta, Abo Akademi University, FIN
 알고리즘 개발 - V.-P. FIN 투르쿠 대학교 에로넨(Eronen)
 Westerlund Tapio와 Poern Ray(2002). 최적화 및 엔지니어링, 3, 253-280
----------------------------------------------------
최소화 문제: "fuel.gms"
GAMS 모델은 총 39개의 요소로 구성되며 그 중 15%는 비선형(NL) 요소입니다.
16개 제약 조건에 포함되어 있으며 그 중 25%는 NL입니다.
NL 제약 기호: =E=(3), =G=(1), =L=(0)
NL 요소의 변수 수는 총 16개 중 6개입니다.
변수: 연속(13), 바이너리(3), 정수(0)
------------------------------------------------------------------
다음 설정 사용
AlphaECP 옵션 파일 optfile=0
AlphaECP의 시간 제한(초) reslim=10000000000
NLP 및 MIP 하위 솔버용 Solvelinksolvelink=5
솔버 추적 파일solvtrace=(비활성)
절단면 전략(0-3) CUTdelcrit=3
컷 생성 속도 CUTnrcuts=0
MIP가 실행 불가능한 경우 승수 업데이트 ECPbeta=1.3
발견된 솔루션을 gdx 파일에 쓰기 ECPdumpsol=0
솔루션 ECPgamma=2 검증 시 승수 업데이트
최대 AlphaECP 반복 수 ECPiterlim=-1
상태 파일에 대한 AlphaECP 출력 수준(0-4) ECPloglevel=0
마스터 전략(0=사용자 1=볼록) ECPmaster=0
솔루션 반환(1.MIP/2.NLP/...) ECPretsol=2
사용자 지정 시작점(0-3) ECPstart=3
AlphaECP 전략(1-5) ECPstrategy=2
AlphaECP 종료 기준(1-2) ECPtoltype=1
MIP 호출당 고려되는 MIP 솔루션의 상한 MIPnrsols=50
중간 하위 문제의 상대 MIP 간격(0->1.0) MIPoptcr=1.00
MIPoptcr이 감소될 때 초기 반복 제한 MIPoptcrlim=200
MIPoptcrlim MIPoptcrlimtype=0을 늘리는 전략
MIP는 MIPoptimaliter=0 빈도로 최적으로 해결됩니다.
다중 MIP 솔루션을 위한 전략 MIPsolstrat=1
하위 문제에 대한 MIP 솔버 및 . 옵션 파일 번호 MIPsolver=cplex.0
NLP 전략. 비활성:0 활성 전략:1-5 NLPcall=5
다음(증분) 반복 시 NLP 솔버 호출 NLPcallliter=0
호출당 NLP 시간 제한(초 또는 자동=0) NLPreslim=30
하위 문제에 대한 NLP 솔버 및 . 옵션 파일 번호 NLPsolver=conopt.0
제약 공차 TOLepsg=0.001
새로운 선형화에 대한 거리 공차 TOLepsz=0.1
기울기 공차 TOLgrad=1e-06
무한대 경계(MIP 변수 경계) TOLinfbnd=1e+10
MINLP TOLoptcr=(비활성)에 대한 상대 종료 허용오차
------------------------------------------------------------------
Itera 단계 코드, 숫자 포인트 알파 OPT 이동 Viol 최대 MIPobjval
컷 사용 문제 Upd.  CR 규범 위반
시작점: NL 제약 조건 (1) 실행 불가능
0시간 0 0 0 1 0 4 1.8E+03 해당 없음
1 SAFGI 1 1 1 1 9.3E+03 0 1.1E-13 8566.12
발견된 솔루션 1개: 1초 안에 8566.12(NLP)

2 SAFH 1 1 0 1 6.6E+03 4 1.8E+03 4844.02
3 SAFH 3 2 0 1 8.4E+03 3 1.8E+03 7031.72
4 SAFH 4 3 0 1 1E+03 2 1.8E+03 10157
5 SAH 5 4 0 1 0 1 7E+02 11925
6 사하 6 5 0 1 1.1E+03 2 3.5E+02 11925
7 사하 8 6 0 1 1.9E+03 2 5.3E+02 11925
8 사하 9 7 0 1 8.8E+02 3 2.6E+02 11925
9 사하 12 8 0 1 8.8E+02 3 1.3E+02 11925
10 SAH 15 9 0 1 4.4E+02 3 66 11925
...
79 사이질 101 65 0 1 0 0 0.00067 11925
80 SAJ 100 64 0 0.5 0 0 0.00067 11925
81 SAJ 100 64 0 0.3 0 0 0.00067 11925
...
100 AI 106 39 1 0 0 0 0.00067 11925
101 AI 106 39 1 0 0 0 0.00067 11925
102 AIJ 106 39 0 0 0 0 0.00067 11925
AlphaECP: 반복 절차가 정상적으로 종료되었습니다.
------------------------------------------------------------------
문제 : Fuel.gms
솔버 상태 : 정상 완료
모델 상태 : 로컬 최적
종료 코멘트 : 문제 없음
최종 솔루션 : NLP
목표값 : 8566.1189616876672517
최대 제약 조건 (4) : 1.1368683772161602974e-13
대체 솔루션 : MIP
대체. 목표값 : 8566.1189616876672517
최대 제약 조건 (4) : 1.1368683772161602974e-13
사용시간(초) : 0.81
시간 제한(초) : 10000000000
사용된 반복 횟수: 102
반복 제한 : -1
기능 평가 : 496
기울기 평가: 186
도메인 위반 : 0
사용할 수 없는 그라디언트 : 0
Alphamax 경계 위반: 0
피망 슬롯 시간 사용량 : 3.9%
NLP 시간 사용량 : 3.8%
MIP 시간 사용량 : 92.3%
최적/총 MIP: 19/102
NLP 솔버 호출: 8
-----------------------------------------------------

반복할 때마다 피망 슬롯 문제 및 수정 사항에 대한 정보가 10개의 열에 제공됩니다. 다음은 다양한 열에 대한 설명입니다.

반복:반복 식별자.

단계 코드, 문제:이번 반복에서 어떤 조치가 취해졌는지에 대한 편지, 즉 다음 반복 전에 피망 슬롯 문제 수정.

A: 피망 슬롯 솔버가 가능합니다.

B: 절단면 이동 후 피망 슬롯 솔버 실행 가능(예: 알파 업데이트).

C: 절단 평면을 생성 지점에 가깝게 이동한 후 피망 슬롯 솔버가 가능합니다. 비선형 등식 제약 조건을 더 쉽게 충족할 수 있도록 이동이 수행되었습니다.

D: 라인 검색이 성공했습니다(in피망 슬롯전략 3).

E: 줄 검색 실패(in피망 슬롯전략 3).

F: NLP 솔버가 호출되었습니다.

G: MINLP 솔루션을 찾았습니다.

H: 다음 피망 슬롯 문제에 선형화를 추가했습니다.

I: 알파 값을 업데이트하고 선형화를 추가했을 수도 있습니다.

J: 비선형 목적 함수 제약 조건을 제외하고 모든 절단 평면은 의사 볼록 제약 조건에 대한 유효한 과소평가입니다.

K: 비선형 목적 함수 제약 조건 값과 피망 슬롯 솔루션 값이 \(\epsilon_f\)보다 더 다릅니다. 차이를 줄이기 위해 선형화가 수행되었습니다(in피망 슬롯전략 3).

L: 모든 시간 선형화를 제거했습니다.

M: 도메인 위반, 일부 제약 조건을 평가할 수 없습니다.

N: 그라데이션 문제로 인해 일부 절단면을 생성할 수 없습니다.

O: 절단면을 생성할 수 없습니다.

P: 절단면이 생성 지점에 가깝게 반복적으로 이동하기 때문에 절단을 다시 선택합니다.

Q: 시간 선형화를 추가했습니다.

R: 시간 선형화 추가에 실패했습니다.

S: 발생한 솔루션을 찾기 위한 피망 슬롯 솔버 전략이 선택되었습니다.

T: 요구되는 피망 슬롯 솔버 전략MIPnrsols솔루션이 선택되었습니다.

U: 요구할 피망 슬롯 솔버 전략MIPnrsolsa를 사용한 솔루션MIPoptcr<=0.2선택되었습니다.

컷 수:해결된 피망 슬롯 문제가 가지고 있는 절단 평면의 수.

포인트 사용:해결된 피망 슬롯 문제에서 컷을 생성하는 데 사용된 포인트 수.

알파 업데이트:알파값이 증가된 횟수입니다.

OPTCR:상대적 피망 슬롯 격차. 이는 다음과 다릅니다.TOLoptcr.

이동 표준:현재 및 이전 피망 슬롯 솔루션의 유클리드 표준.

위반 단점:충족되지 않은(위반하는) 비선형 제약 조건의 수.

최대 위반:가장 위반하는 비선형 제약 조건 값입니다.

MIPobjval/NLobjval:피망 슬롯 또는 비선형 목적 변수 값에 따라 다름피망 슬롯전략설정.

컷 재선택 휴리스틱은 다음과 같은 경우에 호출됩니다:

  1. 피망 슬롯 솔버가 실행 불가능하게 반환되는 경우.
  2. 위반이 줄어들지 않지만 절단면이 생성 지점에 가깝게 반복적으로 이동하는 경우.
  3. 위반이 줄어들지 않고 도메인 위반이 반복적으로 발생하는 경우.

휴리스틱은 다양한 방법으로 절단 평면을 다시 선택하지만 항상 동일한 지점을 두 번 찾을 수 없도록 보장합니다.

Pointusage 6/90 Cutusage 15/341 ( 0,135 )

포인트 사용사용 가능한 모든 포인트 중 몇 개의 포인트가 절단 평면을 생성하는 데 사용되었는지 알려줍니다.절단술사용 가능한 모든 컷 중 몇 개의 컷이 사용되었는지 알려줍니다. 의 첫 번째 숫자( 0,135 )사용자가 필요한 컷 수를 알려줍니다. 참조CUTnrcuts그리고 두 번째 숫자는 추가 및 제거된 컷의 합계, 즉 피망 슬롯 문제가 얼마나 수정되었는지에 대한 척도를 제공합니다. AlphaECP는 메모리를 절약하기 위해 컷 재선택 절차 중에 일부 컷을 수정하고 포인트와 컷을 제거할 수 있습니다.

각 해결이 끝나면 AlphaECP는 문제, 해결자 상태, 모델 상태 등을 포함하는 요약을 제공합니다. 다음 줄을 참고하세요:

  • 댓글 종료솔루션 절차가 중지된 이유에 대해 Solverstatus보다 더 많은 정보를 제공할 수 있습니다.
  • 도메인 위반(함수 평가 실패) 또는그라디언트를 사용할 수 없음(모든 그라디언트 <TOLgrad)은 잘못된 변수 범위로 인해 발생할 수 있습니다.
  • Alphamax 경계 위반alphamax 값이 \(> 10^154\)로 계산되고 \(10^154\)로 재설정된 횟수를 사용자에게 알려줍니다.

옵션에 대한 참고사항

AlphaECP에게 옵션 파일을 읽도록 지시하려면 사용할 수 있습니다.ModelName.OptFile = 1. 이 경우 옵션 파일의 이름은 다음과 같습니다.alphaecp.opt. 자세한 내용은 다음을 참조하세요.솔버 옵션 파일. AlphaECP는 GAMS 매개변수를 지원합니다.레스림그리고optCR그러나 다른 GAMS 매개변수는 하위 솔버에 전달됩니다. 참고하세요optCR옵션으로 전환됨TOLoptcr. 또한 추가 하위 솔버 관련 옵션을 하위 솔버에 전달할 수도 있습니다. 예를 들어, 기회적 병렬 검색 모드에서 사용 가능한 모든 스레드와 하위 솔버 CPLEX를 사용하려는 경우 다음과 같은 비슷한 방식으로 GAMS 모델에서 이를 지정할 수 있습니다.

모델 m / 모두 /;
옵션 스레드=0;
m.optfile=1;
$echo MIPsolver cplex.1 > alphaecp.opt
$echo 병렬 모드 -1 > cplex.opt
objvar를 최소화하는 MINLP를 사용하여 m을 해결합니다.

다음 정보는 당신이 AlphaECP 옵션에 관심이 있을 때 주목할 가치가 있습니다. 비선형 구속조건의 선형화를 절단 평면 또는 절단이라고 합니다. 여기서 포인트는 변수 수준을 나타냅니다. 유사 볼록 문제에 대해 전역 최적성이 보장될 수 있습니다. 그러나 목적 변수가 비선형 제약 조건과 의사 볼록에 있는 경우피망 슬롯전략>= 3은 전역 최적성을 보장하는 데 사용해야 합니다(하나의 비선형 등식 제약 조건으로 인해 문제가 유사 볼록이 아니게 되어 비볼록이 되기 때문). 기본 옵션은 솔루션 절차에 큰 영향을 미칠 수 있으며 최상의 값은 특정 문제에 따라 달라질 수 있습니다. 따라서 사용자는 기본 옵션에 대해 다른 값을 시도해 보는 것이 좋습니다.

AlphaECP 옵션 요약

기본 옵션

옵션설명기본값
CUTnrcuts 생성 속도 단축0
피망 슬롯마스터 마스터 전략(0=사용자 1=볼록형)0
MIPnrsols 피망 슬롯 호출당 고려되는 피망 슬롯 솔루션의 상한50
MIPsolstrat 피망 슬롯 솔루션 수집 전략1
피망 슬롯솔버 하위 문제 및 . 옵션 파일 번호GAMS 피망 슬롯 해결사
NLPsolver 하위 문제 및 . 옵션 파일 번호GAMS NLP 해결사
레스림 AlphaECP의 시간 제한(초)GAMS 리슬림

고급 사용자를 위한 알고리즘 옵션

옵션설명기본값
CUTdelcrit 절단면 전략3
피망 슬롯베타 피망 슬롯가 실행 불가능한 경우 승수 업데이트1.3
ECPdumpsol 발생한 솔루션을 gdx 파일에 쓰기0
피망 슬롯감마 솔루션 검증 시 승수 업데이트2.0
ECPiterlim AlphaECP 반복의 최대 수-1
ECPlog수준 상태 파일에 대한 AlphaECP 출력 수준0
ECPpcostrategy 의사 볼록 목적 함수 전략3
ECPretsol 반환 솔루션(1.피망 슬롯/2.NLP/3.QUALITY/4.PERFORMANCE)2
ECPstart 사용자 지정 시작점3
피망 슬롯전략 알파피망 슬롯 전략2
ECPtoltype AlphaECP 종료 기준1
solvelink NLP 및 피망 슬롯 하위 솔버용 Solvelink5
solvetrace solvtrace 파일의 파일 이름
solvetracetime 추적 레코드가 기록되는 시간 간격1
TOLepsf 의사 볼록 목적 함수 종료 허용오차1e-3
TOLepsg 제약 허용 범위1e-3
TOLepsz 새로운 선형화를 위한 거리 공차1e-1
TOLgrad 그라디언트 허용오차1e-6
TOLinfbnd 무한대 (피망 슬롯 변수 경계)1e10
TOLoptcr MINLP에 대한 상대적 종료 허용 범위GAMS optCR

피망 슬롯 솔버 관련 옵션

옵션설명기본값
피망 슬롯로그레벨 피망 슬롯 솔버 출력 수준0
MIPoptcr 중간 하위 문제의 상대적 피망 슬롯 격차1.0
MIPoptcrlim MIPoptcr 감소 시 초기 반복 제한200
MIPoptcrlimtype MIPoptcrlim 증가 전략0
피망 슬롯최적리터 피망 슬롯는 이 빈도로 최적으로 해결됩니다.0

NLP 솔버 관련 옵션

옵션설명기본값
NLP콜 NLP 전략5
NLP칼리터 다음(증분) 반복 시 NLP 솔버 호출0
NLPlimsameint 반복 정수 솔루션 이후 NLP 호출5
NLP로그수준 NLP 솔버 출력 수준0
NLPreslim 호출당 NLP 시간 제한0

AlphaECP 옵션에 대한 자세한 설명

CUTdelcrit (정수): 절단면 전략

기본값:3

의미
0 유효한 부분을 제거하지 마십시오.
1 0으로 설정하고 정상적인 절단이 불가능할 경우 임의의 지점에서 임시 절단을 허용합니다.
2 임시 자르기 및 자르기 재선택을 허용하고 메모리를 사용하여 포인트와 자르기를 저장합니다.
3 2로 설정하고 솔루션을 개선하기 위해 종료하기 전에 재선택 휴리스틱을 호출합니다.

CUTnrcuts (진짜): 생성 속도 감소

반복 중에 생성되는 선형화 수는 제약 조건 위반 수에 비례하여 AlphaECP에 의해 선택되거나 고정된 양으로 결정될 수 있습니다. 게다가 컷 재선택CUTdelcrit>=2는 요청된 컷 생성 속도가 고려되도록 문제에 컷을 추가합니다.

기본값:0

의미
0 AlphaECP가 결정하게 하세요.
0<n<1 선형화 수 = n* 생성 가능한 선형화 수.
>1 생성할 선형화 수를 지정합니다.

피망 슬롯베타 (진짜): 피망 슬롯가 실행 불가능한 경우 승수 업데이트

실행 불가능한 피망 슬롯 솔루션의 경우 잘못된 컷이 다음으로 업데이트됩니다.피망 슬롯베타승수.

범위: [1.001, ]

기본값:1.3

ECPdumpsol (정수): 발생한 솔루션을 gdx 파일에 쓰기

기본값:0

의미
0 아니요.
1 NLP 해결사가 찾은 솔루션.
2 NLP 또는 피망 슬롯 솔버가 찾은 솔루션.

피망 슬롯감마 (진짜): 솔루션 검증 시 승수 업데이트 중

MINLP 솔루션을 얻었지만 일부 컷이 유효한 과소평가가 아닌 경우 다음으로 업데이트됩니다.피망 슬롯감마유효한 과소평가로 만들기 위한 승수.

범위: [1.001, ]

기본값:2.0

ECPiterlim (정수): AlphaECP 반복의 최대 수

이것은 최적화를 수행하기 위해 AlphaECP에 주어진 최대 반복 횟수입니다. 값 -1은 AlphaECP 반복 제한을 비활성화합니다.

기본값:-1

의미
-1 제한 없음.
>=0 반복 제한을 지정합니다.

ECPlog수준 (정수): 상태 파일에 대한 AlphaECP 출력 수준

기본값:0

의미
0 상태파일에 추가 출력이 없습니다.
1 솔루션을 보고하세요.
해당 변수 수준과 함께 발견된 모든 솔루션을 보고하십시오.
2 반복 수준에서 주요 작업 보고
(최소화 문제에 사용 가능).
3 선형화 수준에서 주요 활동 보고
(최소화 문제에 사용 가능).
4 전체 보고.
모든 반복에 대한 주요 조치, 선형화, 함수 값 및 솔루션 포인트와 라인 검색 세부 사항을 보고합니다(최소화 문제에 사용 가능).

피망 슬롯마스터 (정수): 마스터 전략(0=사용자 1=볼록형)

마스터 전략은 특정 특성을 가진 모델을 보다 효율적으로 해결하기 위해 몇 가지 옵션을 설정합니다. 영향을 받는 옵션은 로그 출력에 기록됩니다. 설정된 옵션은 영향을 받는 옵션에 대해 사용자가 설정한 값보다 우선합니다.

기본값:0

의미
0 사용자 정의 옵션만 사용하십시오.
1 모델은 볼록합니다. 옵션 ECPstrategy, CUTdelcrit 및 ECPtoltype을 설정합니다.

ECPpcostrategy (정수): 의사 볼록 목적 함수 전략

기본값:3

의미
1 지원을 제거합니다.
새로운 유사-볼록 문제가 형성되면 기존 지지면을 제거하십시오.
2 지원을 교체하세요.
새로운 의사 볼록 문제가 형성되면 기존 지지 평면을 축소 제약 조건의 선형화로 교체하세요.
3 지원 및 라인 검색을 제거합니다.
새로운 의사 볼록 문제가 형성되면 이전 지지 평면을 제거하고 가능하면 선 검색을 수행하십시오.
4 지원 및 라인 검색을 대체합니다.
새로운 의사 볼록 문제가 형성되면 기존 지지 평면을 축소 제약 조건의 선형화로 대체하고 가능하면 선 검색을 수행합니다.

ECPretsol (정수): 솔루션 반환(1.피망 슬롯/2.NLP/3.QUALITY/4.PERFORMANCE)

보고된 솔루션은 피망 슬롯 또는 NLP 솔버 결과에서 추출될 수 있습니다. 피망 슬롯 솔루션이 반환되면 원초 값만 사용할 수 있습니다.

기본값:2

의미
1 사용 가능한 경우 피망 슬롯 솔루션을 선택하십시오.
2 가능한 경우 NLP 솔루션을 선택하십시오.
3 가장 좋은 내성을 가진 솔루션을 선택하세요.
4 가장 객관적인 가치가 있는 솔루션을 선택하세요.

ECPstart (정수): 사용자가 지정한 시작점

최적화가 시작될 때 사용되는 변수 수준을 정의하십시오.

기본값:3

의미
0 시작점을 사용하지 마십시오. 문제의 선형 부분(피망 슬롯)을 해결하여 알고리즘을 시작합니다.
1 사용자가 지정한 시작점을 사용하되 변수 수준을 작은 값으로 조정하십시오.
2 사용자가 설정한 정확한 시작점을 사용하세요.
3 선형적으로 가능한 경우 정확한 시작점을 사용하십시오. 그렇지 않으면 작은 값으로 변수 수준을 조정합니다.

피망 슬롯전략 (정수): AlphaECP 전략

기본값:2

의미
1 볼록한 전략.
볼록 목적 함수 및 볼록 제약 조건 문제에 대한 전역 최적성을 보장합니다.
2 의사-볼록 제약조건.
볼록 목적 함수 및 의사 볼록 제약 조건 문제에 대한 전역 최적성을 보장합니다.
3 가상 볼록 대물렌즈.
의사 볼록 목적 함수 및 의사 볼록 제약 조건 문제에 대한 전역 최적성을 보장합니다. 비선형 목적 함수를 제약 조건으로 다시 공식화하는 작업은 특정한 방식으로 수행되어야 합니다. 요구 사항은 목적 변수가 비선형 함수의 선형 부분에 있어야 한다는 것입니다. 최소화되거나 최대화된 변수를 objvar라고 가정하면 다음과 같이 재구성할 수 있습니다. (목적 함수 표현) - objvar =E= 0. 또한 이 전략은 실행 가능한 시작점을 효과적으로 사용할 수 있습니다.
4 가상 볼록 대물렌즈이지만 먼저 ECPstrategy 2로 완성됩니다.
(다음 경우에는 필요한 선형화만 제거됩니다.피망 슬롯전략변경되었습니다.)
5 가상 볼록 목표이지만 ECPstrategy 2를 사용하여 첫 번째 솔루션을 찾으세요.
(다음 경우에는 필요한 선형화만 제거됩니다.피망 슬롯전략변경되었습니다.)

ECPtoltype (정수): AlphaECP 종료 기준

기본값:1

의미
1 공차에 따라 종료 사용TOLepsg그리고TOLepsf.
2 다음에 따라 상대적 목표 격차가 만족되는 경우에도 종료TOLoptcr.
상대 종료 기준이라고도 불리는 상대 객관적인 간격 종료 기준은 사용할 때 볼록 문제에 대해서만 지원됩니다.피망 슬롯전략=1. 상대 종료 기준은 볼록하지 않은 문제뿐만 아니라 다음과 같이 사용될 수 있습니다.피망 슬롯전략=2 단, 이 경우 하한값이 유효하지 않을 수 있어 제대로 작동하지 않을 수 있습니다.

피망 슬롯로그레벨 (부울): 피망 슬롯 솔버 출력 수준

기본적으로 피망 슬롯 솔버의 자세한 로그는 AlphaECP 로그 스트림에서 억제됩니다. 이 옵션이 켜져 있으면 피망 슬롯 로그가 AlphaECP 로그에 병합됩니다.

기본값:0

의미
0 출력이 없습니다.
1 피망 슬롯 솔버 로그가 GAMS 로그로 이동합니다.

MIPnrsols (정수): 피망 슬롯 호출당 고려되는 피망 슬롯 솔루션의 상한

피망 슬롯 솔버가 여러 솔루션을 반환하면 가장 적합한 솔루션이 선택됩니다. 대부분의 경우 피망 슬롯 솔버의 솔루션은 유사하며 제약 조건이 거의 충족되는 경우 더 큰 숫자가 실행 가능한 MINLP 솔루션을 찾는 데 도움이 될 수 있습니다. 참조MIPsolstrat솔루션 수집 전략을 변경합니다.

범위:1, ..., 무한

기본값:50

MIPoptcr (진짜): 중간 하위 문제의 상대적 피망 슬롯 격차

중간 피망 슬롯 문제에 대해 피망 슬롯 솔버로 전송된 상대적 중지 허용 오차입니다. 참고하세요MIPoptcr최적화 중에는 값이 자동으로 0으로 감소합니다.

범위: [0, 1]

기본값:1.0

MIPoptcrlim (정수): MIPoptcr 감소 시 초기 반복 제한

MIPoptcr매개변수는 1에서 0.5, 0.3, 0.2, 0.1, 0.0으로 단계적으로 감소합니다. 첫 번째 감소는 반복 중입니다.MIPoptcrlim. 반복 시에도 다음과 같은 감소가 발생합니다.MIPoptcrlim그러나 매개변수로 정의된 전략으로 업데이트되었습니다.MIPoptcrlimtype. 다른 이유로 인해 단계 감소가 발생할 수 있습니다.

범위:1, ..., 무한

기본값:200

MIPoptcrlimtype (정수): MIPoptcrlim 증가 전략

기본값:0

의미
0 MIPoptcrlim의 기하급수적인 증가.
매개변수MIPoptcrlim는 2를 곱하여 증가합니다. "MIPoptcrlim" 반복에서 증가가 발생합니다. 만일MIPoptcrlim=200이면 200,400,800 등의 값을 갖게 됩니다.
1 MIPoptcrlim의 선형 증가.
매개변수MIPoptcrlim의 원래 값을 추가하여 증가합니다.MIPoptcrlim그것에. MIPoptcrlim=200이면 값은 200,400,600 등이 됩니다.

피망 슬롯최적리터 (정수): 피망 슬롯는 이 빈도로 최적으로 해결됩니다.

알고리즘이 설정되기 전에 피망 슬롯 문제를 최적으로 해결하기 위한 빈도를 정의MIPoptcr=0이므로 피망 슬롯 문제를 최적으로 해결합니다. 예를 들어 만약피망 슬롯최적리터=n이면 최소한 n번째 반복마다 피망 슬롯 문제가 최적으로 해결됩니다. 피망 슬롯 문제를 최적으로 해결하면 볼록 MINLP 문제에 대한 하한이 생성되며, 이는 다음과 같은 경우 알고리즘을 더 빠르게 종료하는 데 도움이 될 수 있습니다.ECPtoltype=2가 사용됩니다. 볼록하지 않은 문제나 다음과 같은 경우 기본값이 아닌 값은 권장되지 않습니다.피망 슬롯전략>1.

기본값:0

의미
0 절대로.
n>0 n번째 반복마다, 여기서 n은 주어진 값입니다.

MIPsolstrat (정수): 피망 슬롯 솔루션 수집 전략

기본값:1

의미
0 피망 슬롯 솔버에게 하나의 솔루션만 반환하도록 지시하세요.
1 피망 슬롯 절차 중에 발견된 모든 솔루션을 반환하도록 피망 슬롯 솔버에 지시하세요.
2 피망 슬롯 솔버에게 요청된 수의 MIPnrsols 솔루션을 얻기 위해 솔루션을 검색하도록 지시합니다.
3 2와 같지만 충족하려면 솔루션도 필요함MIPoptcr>= 0.2.
4 AlphaECP가 결정하게 하세요.

피망 슬롯솔버 (문자열): 하위 문제 및 . 옵션 파일 번호

솔버[.n]Solver는 GAMS 피망 슬롯 솔버의 이름이며n는 optfile에 해당하는 정수입니다. 옵션 파일은 AlphaECP가 작성한 옵션 파일에 추가됩니다. 따라서 지정된 옵션은 AlphaECP에서 설정한 옵션보다 우선합니다. 만일.n이 없으면 optfile은 0으로 처리됩니다. 즉, 피망 슬롯 솔버는 사용자가 지정한 옵션 파일을 찾지 않습니다. 이 옵션은로 지정된 피망 슬롯 솔버를 사용하는 기본값을 덮어쓰는 데 사용할 수 있습니다.옵션 NLP = 솔버;문 또는 NLP용 기본 GAMS 해결사.

기본값:GAMS 피망 슬롯 해결사

NLP콜 (정수): NLP 전략

NLP 솔버가 호출되는 시점을 결정합니다.

기본값:5

의미
0 출력이 없습니다.
1 AlphaECP 알고리즘 끝에서 NLP 솔버를 호출합니다.
2 1로 더 나은 해결책을 찾았을 때.
3 2와 동일한 정수 솔루션이 NLPlimsameint번 발생하는 경우.
4 AlphaECP가 결정하게 하세요.
5 AlphaECP가 호출 전에 변수 레벨을 결정하고 노이즈를 추가하도록 하십시오.

NLP칼리터 (정수): 다음(증분) 반복 시 NLP 솔버 호출

NLP 솔버 호출의 반복 간격을 지정하십시오.

기본값:0

NLPlimsameint (정수): 다수의 반복 정수 솔루션 이후 NLP 호출

동일한 정수 해가 발견되는 경우NLPlimsameint회 연속으로 NLP 솔버가 호출됩니다. NLP 솔버가 호출된 후 카운터가 재설정됩니다.

범위:1, ..., 무한

기본값:5

NLP로그수준 (부울): NLP 솔버 출력 수준

기본적으로 NLP 솔버의 자세한 로그는 AlphaECP 로그 스트림에서 억제됩니다. 이 옵션을 켜면 NLP 로그가 AlphaECP 로그에 병합됩니다.

기본값:0

의미
0 출력이 없습니다.
1 NLP 솔버 로그가 GAMS 로그로 이동합니다.

NLPreslim (진짜): 호출당 NLP 시간 제한

각 NLP 솔버 호출에서 선택한 NLP 솔버에 부여되는 시간 제한(초)입니다. 이 옵션을 0으로 설정하면 문제 크기에 비례하여 시간 제한이 계산됩니다.

기본값:0

NLPsolver (문자열): 하위 문제 및 . 옵션 파일 번호

솔버[.n]Solver는 루트 노드에서 사용해야 하는 GAMS NLP 솔버의 이름이며n은 optfile에 해당하는 정수입니다. 만일.n이 없으면 optfile은 0으로 처리됩니다. 즉, NLP 솔버는 옵션 파일을 찾지 않습니다. 이 옵션은로 지정된 NLP 솔버를 사용하는 기본값을 덮어쓰는 데 사용할 수 있습니다.옵션 NLP = 솔버;문 또는 NLP용 기본 GAMS 해결사.

기본값:GAMS NLP 해결사

레스림 (진짜): AlphaECP의 시간 제한(초)

기본값:GAMS 리슬림

solvelink (정수): NLP 및 피망 슬롯 하위 솔버용 Solvelink

기본값:5

의미
1 스크립트를 통해 NLP 및 피망 슬롯 솔버를 호출합니다.
2 모듈을 통해 NLP 및 피망 슬롯 솔버를 호출합니다.
5 메모리에서 NLP 및 피망 슬롯 솔버를 호출합니다.

solvetrace (문자열): 솔브트레이스 파일의 파일 이름

solvetracetime (진짜): 추적 레코드가 기록되는 시간 간격

기본값:1

TOLepsf (진짜): 의사 볼록 목적 함수 종료 허용오차

비선형 및 피망 슬롯 목적 함수 값 사이에 허용되는 최대 절대 차이(다음에서만 사용됨피망 슬롯전략 3).

범위: [1e-20, 1]

기본값:1e-3

TOLepsg (진짜): 제약 허용 오차

비선형 제약 허용오차는 비선형 제약이 위반할 수 있는 최대값을 정의합니다. 예를 들어 0이 되어야 하는 제약조건은 +/- 값을 가질 수 있습니다.TOLepsg해결책에서.

범위: [1e-20, 1]

기본값:1e-3

TOLepsz (진짜): 새로운 선형화에 대한 거리 허용오차

유효한 절단 평면과 해당 생성 지점(피망 슬롯 솔루션) 사이의 최대 수직 거리.

범위: [1e-20, 1]

기본값:1e-1

TOLgrad (진짜): 기울기 허용오차

그라디언트 편미분의 절대값은 위에 있어야 합니다TOLgrad0이 아닌 것으로 간주되기 위한 값입니다.

범위: [1e-20, 1]

기본값:1e-6

TOLinfbnd (진짜): 무한대 경계(피망 슬롯 변수 경계)

제한된 피망 슬롯 문제를 보장하려면 모든 변수에는 양수 및 음수 유한 경계가 있어야 합니다. 유한한 경계값TOLinfbnd단일 또는 이중 무한 변수에 적용됩니다.

기본값:1e10

TOLoptcr (진짜): MINLP에 대한 상대적 종료 허용 범위

상대 객관적 갭 종료 기준은 |UB-LB|/ (10E-12+max(|LB|,|UB|)) <인 경우 충족됩니다.TOLoptcr, 여기서 UB는 현재 최고 상한이고 LB는 현재 최고 하한입니다. 상한은 NLP 문제를 해결하여 얻고 하한은 피망 슬롯 문제의 하한에서 얻습니다. 부등식이 참이면, 그리고ECPtoltype=2, 알고리즘이 종료됩니다.

범위: [1e-20, ]

기본값:GAMS optCR

FAQ

  • 볼록 문제를 해결하는 데 좋은 설정은 무엇입니까?

    사용피망 슬롯마스터 1.

  • 솔루션 속도가 필수적이라면 좋은 설정은 무엇입니까?

    시도해 보세요피망 슬롯전략 1그리고CUTdelcrit 1피망 슬롯 솔버에 여러 스레드를 사용하면 솔루션 속도가 향상되는지 확인합니다. 그러나 비선형 등식 제약 조건이 있는 비볼록 문제에 대한 실행 가능한 솔루션을 찾을 수 없을 가능성이 상당히 높습니다.

  • 솔루션 품질이 필수적일 때 좋은 설정은 무엇입니까?

    사용NLP칼리터 1그리고MIPsolstrat 4또는3, 또한 다른 값을 시도해 보세요.CUTnrcuts옵션, 예를 들어0.1.

  • 목적 함수는 비선형입니다. 기본값이어야 합니다.피망 슬롯전략사용되나요?

    목적 함수 제약 조건이 다음의 필수 형식으로 작성될 수 있는 경우피망 슬롯전략 3그러면 이 전략이 더 나은 해결책을 찾을 수 있습니다. 제약 조건과 목적 함수가 의사 볼록이면 전역 최적 솔루션이 발견됩니다.