크레이지 슬롯

카디널 옵티마이저by Cardinal Operations는 혼합 정수 선형 및 2차 계획법 문제를 해결하는 솔루션입니다.

사용법

GAMS와 함께 배포되는 GAMS/크레이지 슬롯 인터페이스를 사용하려면 GAMS/크레이지 슬롯 또는 GAMS/크레이지 슬롯-Link 라이센스가 필요합니다. GAMS/크레이지 슬롯-Link 라이선스만 사용할 수 있는 경우 별도의 크레이지 슬롯 라이선스도 시스템에 설치해야 합니다. 자세한 내용은 "Cardinal Operations 사용자 가이드"를 참조하세요.

크레이지 슬롯를 사용하여 지정하기 위해 GAMS 프로그램 내에서 다음 명령문을 사용할 수 있습니다.

옵션 MIP = 크레이지 슬롯;      또는 LP, QCP, MIQCP, ...

위 문은 Solve 문 앞에 나타나야 합니다. GAMS 설치 중에 크레이지 슬롯가 기본 솔버로 지정된 경우 위의 설명은 필요하지 않습니다.

크레이지 슬롯는 특수 순서 집합(SOS)을 지원하지만 반연속 또는 반정수 변수는 지원하지 않습니다.

크레이지 슬롯 옵션 사양

다음 GAMS 매개변수는 현재 GAMS/크레이지 슬롯에서 지원됩니다:리슬림, iterlim, 노들림, optcr, optca, tryint그리고스레드.

추가 옵션은 솔버 옵션 파일을 통해 설정할 수 있습니다. 섹션을 참조하세요.솔버 옵션 파일24963_25028크레이지 슬롯opt:

트리컷레벨 0
단순스레드 4

크레이지 슬롯는 루트 노드(MI(QC)P 해석의 경우)에서만 컷 생성기를 사용하고 단순 알고리즘에서 4개의 스레드를 사용하도록 지정합니다.

지표 사양

지표는 특정 이진 변수가 지정된 값을 취하는 경우에만 모델의 특정 방정식이 충족되어야 함을 지정하는 모델링 도구입니다. 표시기는 GAMS 언어에서 지원되지 않지만 GAMS/크레이지 슬롯 솔버 옵션 파일을 통해 크레이지 슬롯로 전달될 수 있습니다. 참조표시 제약 조건구문에 대한 자세한 내용을 확인하세요.

MIP 시작점

MIP를 해결할 때 기본적으로 GAMS 모델에서 변수 수준으로 지정된 모든 값은 크레이지 슬롯의 시작점으로 전달됩니다.MipStartMode= 0). 단, GAMS 옵션인 경우tryint0이 아닌 값으로 설정되었거나MipStartMode= 2, 소수가 최대 값인 이진 및 정수 변수의 값만tryint는 크레이지 슬롯의 시작점으로 전달됩니다(가능한 분수 값은 정수로 반올림됩니다). 그런 다음 크레이지 슬롯는 실현 가능한 솔루션에 대한 부분 솔루션을 완성하려고 노력할 것입니다.

솔루션 풀

크레이지 슬롯가 문제를 해결할 때 여러 가지 해결책을 찾을 수 있으며 그 중 가장 좋은 해결책만 GAMS 모델의 변수 수준 값을 통해 GAMS 사용자에게 제공됩니다. 옵션인 경우solnpool가 지정되면 크레이지 슬롯에서 찾은 모든 대체 솔루션이 GDX 파일에 기록되고 이 옵션으로 지정된 이름의 인덱스 파일이 기록됩니다. 옵션인 경우solnpoolmerge이 지정되면 크레이지 슬롯에서 찾은 모든 대체 솔루션이 이 옵션으로 이름이 지정되는 단일 GDX 파일에 기록됩니다.

GAMS testlib 모델덤솔이 옵션의 사용 예를 보여줍니다.

실행 불가능하고 제한되지 않은 LP

LP가 크레이지 슬롯에 의해 실행 불가능하다고 판단되면 Farkas 증명 형태의 원초 실행 불가능 인증서(또한 참조모세크 매뉴얼)이 계산됩니다. GAMS/크레이지 슬롯 링크는 방정식 한계 값으로 이 인증서의 값을 반환하고INFES마커(참조솔루션 목록27851_27913

LP가 크레이지 슬롯에 의해 제한되지 않은 것으로 발견되면 원시 광선 형태의 이중 실행 불가능 인증서가 계산됩니다. 문제가 실현 가능하다면 원초 광선은 목적 함수가 무한히 향상될 수 있는 방향을 제시합니다. GAMS/크레이지 슬롯 링크는 변수 수준 값 및 세트의 원시 광선 값을 반환합니다.UNBND마커(참조솔루션 목록) 광선에 포함된 변수에 대한 것입니다.

크레이지 슬롯 옵션ReqFarkasRay이러한 실행 불가능 인증서 계산을 비활성화하는 데 사용할 수 있습니다.

제약조건의 축소할 수 없는 불일치 하위 시스템(IIS) 찾기

LP 또는 MIP가 실행 불가능한 경우 크레이지 슬롯는 실행 불가능한 제약 조건의 하위 집합을 식별하고 제약 조건 중 하나가 제거되면 실행 가능해지는 기능을 갖습니다. 옵션iisIIS를 찾는 데 사용할 수 있습니다.

예를 들어 다음을 포함하는 GAMS 모델을 고려해보세요.

양수 변수 x, y;
방정식 e1;
e1.. x + y =l= -1;

해당 크레이지 슬롯 출력은 다음과 같습니다.iis1로 설정되었습니다.

1개의 스레드를 사용하여 심플렉스 솔버 시작

메소드 반복 목적 Primal.NInf Dual.NInf 시간
듀얼 0 0.0000000000e+00 1 0 0.00s

해결 완료
상태: 실행 불가능 목표: - 반복: 0 시간: 0.00s
LP에 대한 IIS 계산 시작

 반복 Min RowBnd Max RowBnd Min ColBnd Max ColBnd Time
         0 0 1 0 2 0.00초
         1 0 1 0 2 0.00초
         2 1 1 0 2 0.00초
         3 1 1 1 2 0.00초
         4 1 1 2 2 0.00초

IIS 요약: 행 1개, 열 경계 2개
IIS 계산 완료(0.000초)
IIS는 최소입니다.
IIS의 방정식 수: 1
  상한: e1 <= -1
IIS의 변수 수: 2
  하한: x >= 0
  하한: y >= 0

즉, 크레이지 슬롯는 문제가 실현 불가능하다고 판단합니다. 그런 다음 IIS 계산이 시작되고 IIS가 발견됩니다. 그런 다음 IIS가 로그 및 목록 파일에 인쇄됩니다. 변수의 하한으로 구성됩니다.x그리고y및 방정식e1. 이는 의 하한을 낮춤으로써 전체 모델을 실현 가능하게 만들 수 있음을 시사합니다.x또는y또는 오른쪽을 늘려e1.

문제가 실행 불가능하다는 것을 미리 알고 있다면 옵션iis초기 해석을 건너뛰려면 2로 설정할 수 있습니다.

타당성 완화 사용

타당성 완화는 다음에 의해 활성화됩니다.FeasRelax크레이지 슬롯 솔버 옵션 파일의 매개변수.

FeasRelax 옵션을 사용하면 크레이지 슬롯는 가중치가 부여된 페널티 함수가 최소화되는 방식으로 실행 불가능한 모델 인스턴스의 변수 경계와 제약 측면을 선택적으로 완화합니다. 본질적으로, 실현 가능한 완화는 실현 가능성을 달성할 수 있는 최소한의 변화를 제안하려고 합니다. 실행 불가능한 솔루션을 GAMS에 반환하고 목록 파일의 솔루션 섹션에 있는 INFES 마커를 사용하여 경계 및 제약 조건의 완화를 표시합니다.

주의
현재 크레이지 슬롯는 선형 제약 조건의 측면만 완화할 수 있습니다. 표시 및 2차 제약 조건은 완화를 위해 고려되지 않습니다.

기본적으로 모든 방정식 변은 완화 대상이며 동일하게 가중치가 부여되지만 변수 경계 중 어느 것도 완화될 수 없습니다. 이 기본 동작은 완화 기본 설정을 변수 경계 및 제약 조건에 할당하여 수정할 수 있습니다. 이러한 기본 설정은 다음을 사용하여 편리하게 지정할 수 있습니다.점 옵션 feaspref. 기본 설정이 0이라는 것은 연관된 경계 또는 제약 측면이 수정되지 않음을 의미합니다. 가중 페널티 함수는 이러한 선호도를 바탕으로 구성됩니다. 선호도가 클수록 주어진 변수 경계 또는 제약 조건이 완화될 가능성이 높아집니다. 그러나 각 경계 또는 범위에 대해 고유한 기본 설정을 지정할 필요는 없습니다. 실제로 문제에 대한 지식이 명시적인 선호도 할당을 제안하는 경우를 제외하고는 0(영)과 1(1) 값만 사용하는 것이 일반적입니다.

기본 설정은 크레이지 슬롯 솔버 옵션 파일을 통해 지정할 수 있습니다. 구문은 다음과 같습니다.

(변수 또는 방정식) .feaspref (값)

예를 들어, GAMS 선언이 있다고 가정해 보겠습니다:

i /i1*i5/ 설정;
   j /j2*j4/를 설정합니다.
   변수 v(i,j); 방정식 e(i,j);

그러면, 휴식 선호도는크레이지 슬롯opt파일은 다음으로 지정할 수 있습니다:

feasrelax 1
v.feaspref 1
v.feaspref('i1',*) 2
v.feaspref('i1','j2') 0

e.feaspref(*,'j1') 0
e.feaspref('i5','j4') 2

먼저 우리는 가능한 이완을 켭니다. 또한 모든 변수를 지정합니다.v(i,j)설정 요소보다 변수를 제외하고 1을 선호합니다.i1, 선호도는 2입니다. 집합 요소보다 변수i1그리고j2기본 설정 0이 있습니다. 기본 설정은 나중에 할당된 기본 설정이 이전 기본 설정을 덮어쓰도록 절차적 방식으로 할당됩니다. 위에서 설명한 것과 같이 방정식에 기본 설정을 할당하는 데에도 동일한 구문이 적용됩니다. 모델의 모든 변수 또는 방정식에 기본 설정을 할당하려면 키워드를 사용하세요.변수또는방정식개별 변수 및 방정식 이름 대신(예:변수.feaspref 1).

매개변수FeasRelaxMode한 단계 또는 두 단계에서 실행 가능한 이완을 찾는 다양한 전략을 허용합니다. 첫 번째 단계에서는 실현 불가능한 모델의 완화를 최소화하려고 시도합니다. 즉, 최소한의 변화만 필요로 하는 실행 가능한 솔루션을 찾으려고 시도합니다. 두 번째 단계에서는 첫 번째 단계에서 필요하다고 판단한 만큼만 완화가 필요한 솔루션 중에서 최적의 솔루션(원래 목표 사용)을 찾습니다. FeasRelaxMode 매개변수의 값은 두 가지 측면을 나타냅니다. (1) 1단계에서 중지할지 아니면 2단계를 계속할지 여부와 (2) 이완을 측정하는 방법(합계필요한 휴식; 으로번호완화해야 하는 제약 조건과 경계; 으로제곱의 합필요한 휴식). 모델도 확인하세요feasopt1GAMS 모델 라이브러리에 있습니다.

매개변수 조정 도구

크레이지 슬롯 튜닝 도구는 런타임 또는 기타 품질 측정을 향상시키는 설정을 검색하면서 각 실행에 대해 서로 다른 매개변수 설정을 선택하여 모델 인스턴스에 대해 여러 해결을 수행합니다. 실행 기간이 길어질수록 상당한 개선이 이루어질 가능성이 높아집니다. 매개변수 조정 도구의 제한 사항에 대한 참고 사항은 다음을 참조하세요.GAMS/구로비 매뉴얼.

조정 관련 매개변수튜닝 도구의 작동을 제어할 수 있습니다. 튜닝을 활성화하려면 옵션조정설정이 필요합니다. 의 값조정은 솔버 링크에 의해 작성된 옵션 파일 이름의 접두어로 사용됩니다. 튜닝에 소요되는 시간은 옵션으로 제어할 수 있습니다.TuneTimeLimit. 옵션조정 모드그리고TuneMeasure해결 시간 또는 최적 값의 경계를 조정 시간에 대한 품질 측정으로 사용해야 하는지 여부를 지정할 수 있습니다.

GAMS/크레이지 슬롯 옵션 파일에 설정된 옵션은 고정 매개변수로 간주되며 조정 도구에 의해 변경되지 않습니다. GAMS/크레이지 슬롯 링크는 일부 크레이지 슬롯 옵션의 기본값을 변경하므로 수정된 매개변수에 대한 로그를 확인하세요.

옵션 사용 중TuneParams, 조정해야 하는 매개변수가 포함된 크레이지 슬롯 옵션 파일을 지정할 수 있습니다. 이 매개변수 파일은 크레이지 슬롯에서 직접 읽으므로 해당 구문이 GAMS/크레이지 슬롯 솔버 옵션 파일 중 하나와 다를 수 있습니다. 파일은 각 매개변수 이름에 대해 여러 값을 허용합니다. 예를 들어, 파일에 다음 줄이 포함되어 있는 경우루트컷레벨 0 1 2 3그리고트리컷레벨 0 1 2 3, 그러면 튜너는 지정된 인스턴스에 대한 절단면 생성량만 최적화합니다. 만일TuneParams설정되지 않은 경우 튜너가 자동으로 튜닝 매개변수 세트를 생성합니다.

조정 도구가 성능을 향상시키는 하나 이상의 매개변수 세트를 발견한 경우, 이는 다음 이름의 파일에 기록됩니다.<조정>.<idx>, 여기서조정옵션의 값입니다조정그리고idx매개변수 세트의 색인입니다. 최고의 성능을 내는 매개변수 세트에는 색인이 있습니다.000. 튜닝 도구를 사용하는 경우 GAMS/크레이지 슬롯는 솔루션을 반환하지 않습니다. 조정은 타당성 완화와 같은 다른 고급 기능과 동시에 사용할 수 없습니다.

그래픽 처리 장치(GPU) 사용

크레이지 슬롯의 1차 LP 방법 PDLP는 Linux 및 Windows 시스템에서 NVIDIA GPU를 사용할 수 있습니다. 그렇게 하려면 다음 단계를 수행해야 합니다.

  • 옵션Lp메소드PDLP 솔버를 선택하려면 6으로 설정되어야 합니다.
  • CUDA 12 라이브러리시스템에 설치해야 합니다. GAMS 배포에는 포함되지 않습니다. 또한 크레이지 슬롯는 런타임에 CUDA 라이브러리를 찾을 수 있어야 하며 이는 환경 변수를 설정하여 보장할 수 있습니다.LD_LIBRARY_PATHLinux 또는 환경 변수 보강PATHWindows의 경우.

PDLP 솔버가 실행되면 크레이지 슬롯는 CUDA 라이브러리와 호환 가능한 GPU 장치를 찾았는지 여부를 로그에 표시합니다. CUDA 또는 NVIDIA GPU를 찾을 수 없는 경우 PDLP는 CPU만 사용하도록 대체합니다. 옵션GPU모드GPU 사용을 강제하거나 비활성화하는 데 사용할 수 있습니다. 옵션GPU장치GPU가 여러 개인 경우 GPU를 선택하는 데 사용할 수 있습니다.

GPU 사용은 현재 PDLP 방법에만 사용할 수 있습니다.

크레이지 슬롯 옵션 목록

다음에서는 사용 가능한 크레이지 슬롯 옵션의 자세한 목록을 제공합니다.

한도 및 공차

옵션설명기본값
AbsGapMIP의 절대 격차
범위: [0, ]
GAMS optca
BarIterLimit장벽 반복 제한
범위: 0, ..., 무한대
GAMS iterlim
듀얼톨이중 솔루션에 대한 내성 및 비용 절감
범위: [1e-09, 0.0001]
1e-06
FeasTol타당성 공차
범위: [1e-09, 0.0001]
1e-06
IntTol정수 타당성 공차
범위: [1e-09, 0.1]
1e-06
매트릭스톨입력 행렬 계수 허용오차
범위: [0, 1e-07]
1e-10
노드 제한MIP 노드 제한
범위: -1, ..., 무한대
GAMS 노들림
PDLPTol1차 방법(PDLP)에 대한 수렴 허용오차
범위: [1e-12, 0.0001]
1e-06
RelGapMIP의 상대적 격차
범위: [0, ]
GAMS optcr
SolTimeLimit원초적인 실현 가능한 솔루션을 찾은 후에만 유효한 시간 제한
범위: [0, 1e+20]
1e+20
시간 제한최적화 시간 제한
범위: [0, 1e+20]
GAMS 리슬림

Presolving 및 Scaling

옵션설명기본값
이중화문제를 해결하기 전에 문제를 이중화할지 여부
-1: 자동으로 선택하세요.
0: 이중화 없음.
1: 문제를 이중화합니다.
-1
프리졸브문제 해결 전 수행된 사전 해결 수준
-1: 자동으로 선택하세요.
0: 사전 해결이 없습니다.
1: 빠른 사전 해결.
2: 일반적인 사전 해결.
3: 공격적인 사전 해결.
4: 제한 없음, 모델을 수정할 수 없을 때까지 계속됩니다.
-1
확장문제를 해결하기 전에 스케일링을 수행할지 여부
-1: 자동으로 선택하세요.
0: 확장이 없습니다.
1: 크기 조정을 적용합니다.
-1

LP 해결

옵션설명기본값
바균질장벽에 동질적인 자기 이중 형태를 사용할지 여부
-1: 자동으로 선택하세요.
0: 아니요.
1: 예.
-1
바주문장벽 주문 방법
-1: 자동으로 선택하세요.
0: 대략적인 최소 등급(AMD).
1: 중첩 해부(ND).
2: 중첩된 해부 2(ND2)
-1
바시작장벽의 시작점 방법
-1: 자동으로 선택하세요.
0: 간단합니다.
1: 메흐로트라.
2: 수정된 메흐로트라.
-1
크로스오버장벽 이후 크로스오버를 실행할지 여부
-1: 자동으로 선택합니다. LP 솔루션이 원시-쌍대 가능하지 않은 경우에만 교차를 실행하세요.
0: 아니요.
1: 예.
1
이중 교란목적함수 섭동 허용 여부
-1: 자동으로 선택하세요.
0: 방해하지 않습니다.
1: 목적 함수 섭동을 허용합니다.
-1
이중 가격이중 단순 가격 책정 알고리즘을 지정합니다.
-1: 자동으로 선택하세요.
0: Devex 가격 책정 알고리즘을 사용합니다.
1: 이중 급경사 가격 책정 알고리즘 사용 .
-1
GPU장치사용할 GPU 장치를 지정합니다(-1: 자동)
범위: -1, ..., 무한대
-1
GPU모드GPU 모드 지정
-1: 자동으로 선택하세요.
0: CPU 모드를 강제로 사용합니다.
1: 표준 GPU 모드를 사용해 보십시오.
2: Barrier 방식의 경우 LP 문제를 해결할 때 고성능 GPU 모드를 사용해보세요. 이로 인해 메모리 사용량이 높아질 수 있습니다.
-1
Lp메소드LP 방식을 지정합니다
-1: LP용 이중 심플렉스. MIP용 Dual Simplex와 Barrier 사이의 자동 선택.
1: 이중 단순.
2: 장벽.
3: 크로스오버.
4: 동시(심플렉스와 장벽을 동시에 사용).
5: 단순 및 장벽 중에서 자동으로 선택합니다(희소성 및/또는 계수 범위와 같은 기능을 기반으로 함).
6: 1차 방법(PDLP).
-1
ReqFarkasRayLP가 실행 불가능하거나 제한되지 않은 경우 Farkas 또는 Ray를 반환할지 여부
범위: 부울
1

MIP 해결

옵션설명기본값
충돌 분석충돌 분석 수행 여부
-1: 자동.
0: 아니요.
1: 예.
-1
컷레벨절단면 생성 수준
-1: 자동.
0: 꺼짐.
1: 빠릅니다.
2: 정상입니다.
3: 공격적입니다.
-1
DivingHeur레벨다이빙 휴리스틱 수준
-1: 자동.
0: 꺼짐.
1: 빠릅니다.
2: 정상입니다.
3: 공격적입니다.
-1
FAPHeur레벨수정 및 전파 휴리스틱 수준
-1: 자동.
0: 꺼짐.
1: 빠릅니다.
2: 정상입니다.
3: 공격적입니다.
4: 매우 공격적입니다.
-1
Heur레벨휴리스틱 수준
-1: 자동.
0: 꺼짐.
1: 빠릅니다.
2: 정상입니다.
3: 공격적입니다.
-1
선형화지표표시 제약 조건의 강제 선형화
0: 표시기 제약조건의 선형화를 강제하지 마십시오.
1: 모든 표시기 제약 조건의 선형화를 강제합니다. 활성화된 경우 모든 표시기 제약 조건은 동등한 선형 제약 조건으로 변환됩니다.
0
선형화SosSOS 제약의 강제 선형화
0: SOS 제약조건의 선형화를 강제하지 마세요.
1: 모든 SOS 제약조건의 선형화를 강제합니다. 활성화되면 모든 SOS 제약조건이 동등한 선형 제약조건으로 변환됩니다.
0
MipRepair숫자 문제가 있는 경우 MIP 솔루션을 복구하기 위한 수준(-1: 남은 시간에만, 0: 꺼짐, >0 시간 제한 연장)
범위: -1, ..., 3
-1
MipStartModeMIP 시작 모드 지정
-1: 자동.
0: MIP 시작을 비활성화합니다.
1: 전체적이고 실행 가능한 MIP 시작만 사용하세요.
2: subMIP를 해결하여 부분적으로 실행 가능한 MIP 시작을 완료해 보세요.
-1, ifGAMS 시도= 0, 그렇지 않으면 2
MipStartNodeLimitMIP 시작 하위 MIP에 대한 노드 제한(부분 MIP 시작을 완료하기 위해)(-1: 무제한)
범위: -1, ..., 무한대
-1
NodeCutRounds로컬 노드의 최대 컷 라운드
범위: -1, ..., 무한대
-1
PreRootHeur레벨루트 전 휴리스틱 수준
-1: 자동.
0: 꺼짐.
1: 빠릅니다.
2: 정상.
3: 공격적입니다.
-1
루트컷레벨루트 절단면 생성 수준
-1: 자동.
0: 꺼짐.
1: 빠릅니다.
2: 정상.
3: 공격적입니다.
-1
RootCutRounds루트의 최대 절단 라운드(-1: 무제한)
범위: -1, ..., 무한대
-1
반올림Heur레벨반올림 휴리스틱 수준
-1: 자동.
0: 꺼짐.
1: 빠릅니다.
2: 정상.
3: 공격적입니다.
-1
강한 분기강한 분기 수준
-1: 자동.
0: 꺼짐.
1: 빠릅니다.
2: 정상.
3: 공격적입니다.
-1
SubMipHeur레벨하위 MIP 휴리스틱 수준
-1: 자동.
0: 꺼짐.
1: 빠릅니다.
2: 정상.
3: 공격적입니다.
-1
트리컷레벨나무 절단면 생성 수준
-1: 자동.
0: 꺼짐.
1: 빠릅니다.
2: 정상.
3: 공격적입니다.
-1

NLP 해결

옵션설명기본값
MipNLPIterLimitMIP 솔버 내에서 NLP 문제를 해결하기 위한 반복 제한(-1: 제한 없음)
범위: -1, ..., 무한
100
NLPIterLimitNLP 문제 해결을 위한 반복 제한
범위: 0, ..., 무한대
GAMS iterlim
NLPLinScale비선형 솔버의 선형 시스템 스케일링 전략
-1: 자동으로 선택하세요.
0: 확장이 없습니다.
1: 항상 확장됩니다.
-1
NLPMu업데이트비선형 솔버의 장벽 매개변수 업데이트 전략
-1: 자동으로 선택합니다.
0: 단조롭게 감소합니다.
1: 적응형 조정.
-1
NLPTol비선형 프로그래밍에 대한 최적의 상대 허용오차
범위: [1e-13, 0.001]
1e-08
비볼록형비볼록 문제를 해결할지 여부
-1: 자동으로 선택하세요.
0: 비볼록성을 보고하고 종료합니다.
1: 로컬 최적 솔루션을 검색합니다.
2: 전역 최적 솔루션을 검색합니다.
-1

멀티스레딩

옵션설명기본값
바스레드장벽 해결에 사용할 스레드 수
범위: -1, ..., 128
-1
크로스오버스레드크로스오버에 사용할 스레드 수
범위: -1, ..., 128
-1
밉태스크MIP 해결의 병렬 작업 수(-1: 자동)
범위: -1, ..., 256
-1
심플렉스스레드심플렉스 솔버에 사용할 스레드 수
범위: -1, ..., 128
-1
스레드사용할 스레드 수(-1:자동, 0:1스레드)
GAMS 스레드 = 0은 크레이지 슬롯 스레드의 기본값을 -1로 설정합니다. 즉, 크레이지 슬롯가 사용할 프로세서 수를 선택하도록 합니다.
범위: -1, ..., 128
GAMS 스레드

타당성 분석

옵션설명기본값
.feaspref타당성 완화에 변수 경계 또는 방정식 변을 포함하는 것을 선호함
값이 높을수록 실행 가능한 완화를 계산할 때 관련 변수 경계 또는 방정식 변이 완화될 가능성이 높아집니다. 0인 경우 관련 변수 경계 또는 방정식 변은 완화를 위해 고려되지 않습니다.
범위: [0, )
방정식의 경우 1.0, 변수의 경우 0.0
FeasRelax문제를 해결하는 대신 가능한 완화를 계산할지 여부
범위: 부울
동의어: feasopt
0
FeasRelaxMode타당성 완화 모드를 지정합니다.
0: 위반 합계를 최소화합니다.
1: 최소 위반 합계로 원래 목적 함수를 최적화합니다.
2: 위반 횟수를 최소화합니다.
3: 위반 횟수를 최소화하면서 원래 목적 함수를 최적화합니다.
4: 위반 제곱의 합을 최소화합니다.
5: 위반 제곱합을 최소화하면서 원래 목적 함수를 최적화합니다.
동의어: feasoptmode
0
iis문제가 실현 불가능한 경우 환원 불가능한 일관성 없는 하위 시스템(IIS)을 계산할지 여부
0: 아니요
1: 실행 불가능한 경우 해결 후 IIS 계산
2: 원래 문제를 해결하지 않고 IIS를 계산
0
IIS메소드IIS 방법을 지정합니다
-1: 자동.
0: 더 작은 IIS를 찾으세요.
1: IIS를 빠르게 찾으세요.
-1

매개변수 조정

옵션설명기본값
TuneMeasure여러 순열을 집계하여 튜너에 대한 단일 측정값으로 해결하는 방법
-1: 자동으로 선택하세요.
0: 평균값.
1: 최대값.
-1
조정 방법조정 방법
-1: 자동으로 선택하세요.
0: 탐욕스러운 검색 전략.
1: 더 광범위한 검색 전략.
-1
조정 모드튜너의 튜닝 모드를 지정합니다
-1: 자동으로 선택하세요.
0: 해결 시간.
1: 상대적 최적성 격차.
2: 원초 경계(현재의 목적 함수 값).
3: 이중 경계(최적 값에 대한 경계).
-1
TuneOutput레벨튜너의 출력 레벨
0: 튜닝 로그가 없습니다.
1: 개선된 매개변수만 요약합니다.
2: 각 조정 시도에 대한 요약입니다.
3: 각 조정 시도에 대한 자세한 로그입니다.
2
TuneParams조정할 옵션이 있는 크레이지 슬롯 매개변수 파일
각 매개변수에 대해 여러 값을 지정할 수 있습니다.
범위: 문자열
TunePermutes튜너가 설정한 각 매개변수에 대한 순열 해결 수(0: 자동)
범위: 0, ..., 무한대
0
TuneTargetRelGap조정을 위한 목표 상대 격차
범위: [0, ]
0.0001
TuneTargetTime조정을 위한 목표 경과 시간
범위: [0, ]
0.01
TuneTimeLimit조정 시간 제한(0: 자동)
범위: [0, 1e+20]
0
조정설정된 경우 조정 도구를 활성화합니다. 옵션 값은 작성되는 튜닝된 옵션 파일 이름의 접두사여야 합니다.
범위: 문자열

기타

옵션설명기본값
로그레벨해결 정보의 로그 수준
2: 기본 최적화 로그를 인쇄합니다.
3: 기본 최적화 로그 외에 메모리 사용량 정보를 인쇄합니다(MIP 문제의 경우).
2

GAMS/크레이지 슬롯 링크

옵션설명기본값
qextractalg2차 방정식의 추출 알고리즘
0: 자동으로 선택
1: threepass: 3-pass 정방향/역방향/정방향 AD 기술을 사용하여 함수/그라디언트/헤시안 값을 계산하고 저장을 위한 하이브리드 방식
2: doubleforward: 정방향 AD를 사용하여 필요에 따라 각 노드 또는 스택 수준에서 함수, 그래디언트 및 헤세 값을 계산하고 저장합니다. 그래디언트와 헤세 행렬은 연결된 목록에 저장됩니다.
3: 동시: threepass와 doubleforward를 병렬로 사용합니다. 하나가 끝나자마자 다른 하나가 멈춥니다.
0
readparams크레이지 슬롯 매개변수 파일 읽기
범위: 문자열
솔른풀솔루션 풀 파일 이름
크레이지 슬롯에서 찾은 대체 솔루션을 작성하기 위한 솔루션 인덱스 gdx 파일의 이름입니다. 이 옵션으로 지정된 GDX 파일에는 개별 솔루션이 포함된 GDX 파일 이름이 포함된 인덱스라는 세트가 포함됩니다.
범위: 문자열
solnpoolmerge병합된 솔루션의 솔루션 풀 파일 이름
범위: 문자열
해결최종MIP 해결 후 SOS에서 이산 변수 및 변수를 수정하여 얻은 LP를 해결할지 여부
MIP 해결 후 한계에 접근하지 못하는 경우, 이 옵션을 비활성화하는 것이 좋습니다.
범위: 부울
1
solvetrace해결 중 해결 진행 정보를 쓰기 위한 파일 이름
범위: 문자열
solvetracenodefreq추적 파일을 해결하기 위해 쓰기 위한 노드 수의 빈도
크레이지 슬롯가 다중 스레드로 실행되면 노드 빈도가 작동하지 않습니다.
범위: 0, ..., 무한대
100
solvetracetimefreq추적 파일 해결을 위한 쓰기 빈도(초)
범위: (0, )
5
writebas기본 형식으로 고급 시작 기반을 쓸 파일 이름
범위: 문자열
writebin크레이지 슬롯 바이너리 형식으로 문제를 기록할 파일 이름
범위: 문자열
writelpLP 파일 형식으로 문제를 기록할 파일 이름
범위: 문자열
writempsMPS 파일 형식으로 문제를 기록할 파일 이름
범위: 문자열
writemstMIP 시작점을 쓸 파일 이름
범위: 문자열
writelNL 파일 형식으로 문제를 기록할 파일 이름
범위: 문자열
전문 사용자를 위한 옵션
qextractdenseswitchfactor2차 추출 알고리즘에 대한 희소/밀도 인자
값이 작을수록 밀도가 높은 카운트 벡터가 될 가능성이 높아집니다. 0은 항상 밀도가 있음을 의미합니다.
범위: (0, )
0.008
qextractdenseswitchlog2차 추출 알고리즘에서 희소/밀도 인자 선택에 대한 추가 정보를 인쇄할지 여부
범위: 부울
0