목차
22.7.1 주요 릴리스(2008년 5월 1일)
감사의 말씀
문제를 보고하고 이 릴리스 개선을 위한 제안을 해주신 모든 사용자에게 감사드립니다. 특히 Jens Baudach, Michael Ferris, Josef Kallrath, Aldo Vecchietti 및 Stefan Vigerske에게 감사드립니다.
피망 슬롯 시스템
피망 슬롯
향상된 데이터 설명
세트 및 매개변수 데이터 외에도 방정식 및 변수에 대한 초기 값을 허용하도록 데이터 명령문이 향상되었습니다. 이러한 새 데이터 문은 특정 데이터 속성을 지정하는 추가 차원을 추가하여 매개변수에 대한 목록 및 테이블 데이터 문 구문을 따릅니다. 이 추가 차원에서는 변수 및 방정식 접미사를 사용할 수 있습니다. 예를 들어 전송 예시의 솔루션 값은 다음과 같이 작성할 수 있습니다.
변수 x(i,j) / (시애틀.(뉴욕 50, 시카고 300) 샌디에고.(뉴욕,토피카) 275 ).l Seattle.topeka.m 0.36 san-diego.chicago.m 0.009 /; 변수 z / l 153.6750 /; 방정식 수요(j) / (뉴욕 0.2250 시카고 0.1530 토피카 0.1260).m /;기본값이 아닌 값만 지정해야 합니다. 변수 유형에 따라 다음 속성을 사용할 수 있습니다.
.l 레벨 .m 한계 .lo 하한 .up 상한 .scale 스케일 값 .이산변수에 대한 우선순위 .l,.lo 및 .up을 동일한 값으로 설정하기 위한 .fx 약칭
테이블 스타일 입력을 사용하면 모든 색인 위치가 행 정의에 나타나야 합니다. 예를 들어 위의 목록 지향 명령문을 다음과 같이 테이블 형식으로 작성할 수 있습니다.
변수 테이블 x(i,j) 초기값 난 시애틀. 뉴욕 50 시애틀. 시카고 300 시애틀. 토피카 0.36 샌디에고.뉴욕 275 샌디에고.토페카 275 san-diego.chicago 0.009다른 데이터 설명과 마찬가지로,
$onmulti,$ondelim그리고$oneempty또한 사용할 수 있습니다.매칭 연산자
n-튜플 사이의 매핑은 데이터 문을 통해 입력하기가 서툴고 종종 계산하기 어렵습니다. 곱 연산자(.)와 유사하게 일치 연산자(:)를 도입했습니다. 예를 들어, 두 개의 set data 문은 동일한 결과를 제공합니다.
설정 I / t1*t6:s3*s5 / j / t1.s3,t2.s4,t3.s5 / 설정다른 예에서는 어떤 방식으로든 "튜플"을 계산할 수 있습니다:
h /h1*h24/, d /d1*d365/, dh(d,h) /#d.#h/를 설정합니다. t /t1*t8760/, tdh(t,d,h) /#t:#dh/를 설정합니다.결과 세트 tdh는 다음 값을 갖게 됩니다:
t1.d1.h1, t2.d1.h2, t3.d1.h3 ..현재 할당문에 대한 일반적인 일치 연산자가 없습니다. 매우 서투르고 비용이 많이 드는 계산을 용이하게 하기 위해 다음 옵션 문을 사용할 수 있습니다.
ijk(I,j,k), x(I,j,k,l) 설정 .. 옵션 ijk(i:j,k), x(ijk:l);이 명령문은 먼저 ijk 집합을 지운 다음 i와 j에 일치 연산자를 적용하고 마지막으로 k와 일치하는 (i,j)에 곱 연산을 적용하여 결과는 다음과 같습니다.
i1.j1.k1, i1.j1.k2, .. i2.j2.k1, i2.j2.k2, ..그리고 x는 ijk를 l 집합과 일치시켜 결과는 다음과 같습니다:
i1.j1.k1.l1, i1.j1.k2.l2, ..메모리 사용 제한 - HeapLimit
일부 응용프로그램에서는 피망 슬롯 작업이 사용할 수 있는 메모리 양을 제한하는 것이 바람직할 수 있습니다. HeapLimit(MB)는 동적 데이터를 저장하는 데 사용되는 메모리를 제한하는 새로운 피망 슬롯 매개변수이자 함수/속성입니다. 동적 데이터 저장소가 이 제한을 초과하는 경우 작업은 메모리 부족 반환 코드 10으로 종료됩니다. 이러한 기능은 서버 환경에서 특히 유용합니다.
- 피망 슬롯 매개변수 HeapLimit은 피망 슬롯 작업의 컴파일 및 실행 시간에 메모리 사용 제한을 설정합니다.
- 함수/속성 HeapLimit을 사용하여 현재 제한을 조사하고 휴식을 취할 수 있습니다.
- NLP 솔버 CONOPT에는 솔버가 더 많은 동적 메모리를 사용하지 않도록 보장하는 HeapLimit 옵션도 있습니다.
- 기타 개선사항
- 기호는 최대 20개의 차원을 가질 수 있으며 식별자와 라벨은 최대 63자를 가질 수 있습니다.
- 피망 슬롯 실행 파일은 'Keep' 및 'CurDir' 매개변수를 이해합니다.
- 새 파생 변수/방정식 속성
.range다음과 같이 정의됩니다x.range=x.up-x.lo. 이는 변수가 수정되었는지 확인하는 편리한 방법을 제공합니다. - 컴파일 시간 상수 표현식의 추가 참조
$eval그리고$ife문은 이제 스칼라 매개변수와 함수를 참조할 수 있습니다.카드(ID) - 단일 항목을 한 줄에 배치하는 x:0:0:1 형식으로 표시하는 경우 튜플 텍스트를 추가했습니다.
- 아래 테이블 명령문에서
$ondelim, 열 정의에서 더미 요소를 삭제할 수 있습니다 - GDX가 로드되는 실행 시간과 마찬가지로 다음과 같은 로드 문을 사용하여 도메인 정보를 추출할 수 있습니다.
$load setid=매개변수id
피망 슬롯 데이터 교환(GDX)
- GDX 파일의 기호는 최대 20개의 측정기준을 가질 수 있으며 식별자와 라벨은 최대 63자를 가질 수 있습니다.
- GDX 파일은 기호에 대한 도메인 정보를 저장할 수 있습니다.
- GDX 파일은 별칭 세트를 저장할 수 있습니다.
GDX 유틸리티
- GDXDUMP는 이제 변수 및 방정식에 대한 데이터를 기록합니다(더 이상 둘러싸여 있지 않음
$ontext/$offtext) - MDB2GMS는 빈 기호 쓰기를 허용합니다.
- GDXXRW
- 더 이상 텍스트 필드를 숫자 값으로 해석하지 않습니다(국제 표기 문제로 인해). 해당 셀에 대해 반환된 값은 NA입니다.
- VAR 및 EQU 필드의 기본값 문제를 수정했습니다.
- GDXMERGE가 별칭 세트를 올바르게 병합하지 않았습니다.
- GDXVIEWER는 다음을 지정하여 명령줄 모드에서 모든 기호를 Excel로 내보낼 수 있습니다.
ID=*
GAMSIDE
- 다음과 같은 추가 항목을 표시하기 위해 선택적 파일 'idecfg.ini'를 지원합니다.
- HTML 문서를 여는 옵션
- 여러 모델 라이브러리
- 프로세스 창에 이미지 표시
- 빈 줄에서 괄호가 일치하는 문제를 수정했습니다.
- 225 디렉토리 삭제 문제 수정(이 디렉토리가 파일을 여는 데 사용된 마지막 디렉토리인 경우)
피망 슬롯 모델 라이브러리
- 피망 슬롯 모델 라이브러리6개의 예제 포함LOGMIP사용 설명서
피망 슬롯 테스트 라이브러리
- 30개의 새로운 모델, 포함
- 10보다 큰 도메인과 31자보다 긴 UEL 이름을 올바르게 처리하는지 테스트합니다.
- 별명 세트로 gdxmerge 테스트
- DECISC 및 DECISM에 대한 새로운 테스트
- 여러 모델 테스트EMP
문서
- McCarl 피망 슬롯 사용자 가이드 업데이트됨
해결사
바론
- 새 라이브러리(버전 8.1.4)
CPLEX
- 새 라이브러리(버전 11.0.1)
코인-OR
- Zuse Institute Berlin의 새로운 MIP 솔버 SCIP
- 옵션으로 사용 mip=coinscip;
- COIN-OR LP 솔버 CLP 사용
- 학술 사용자에게는 무료입니다.
- Windows 64비트 플랫폼 지원
- CoinCbc는 BCH(Branch and Cut Heuristic)를 통해 사용자 정의 컷 생성기 및 휴리스틱을 지원합니다.
- CoinIpopt 및 CoinBonmin은 선형 솔버 MA27, MA57(HSL) 및 Pardiso의 동적 로드를 지원합니다.
- CoinCbc, CoinGlpk, CoinIpopt 및 CoinBonmin의 라이브러리 및 인터페이스에 대한 사소한 업데이트입니다.
CONOPT
- 새 옵션 Heaplimit(또한 참조게임 옵션)
EMP - 확장된 수학 계획법
(실험) 자동화된 수학 프로그래밍 재구성을 위한 프레임워크
- 이중 프로그램
- 분리형 프로그램
- 확장 비선형 프로그램
- 임베디드 최적화 보완 프로그램
따라서 새로운 모델 유형은 성숙한 솔버 기술을 사용하기 위해 확립된 수학 프로그래밍 클래스로 다시 구성됩니다. EMP는 라이선스가 부여된 모든 피망 슬롯 시스템과 함께 무료로 제공되지만 생성된 모델을 해결하려면 하위 솔버가 필요합니다.
LOGMIP
LogMIP 1.0은 이산 선택 모델링을 위한 이진 변수 및 분리 정의와 관련된 선형 및 비선형 분리 프로그래밍 문제를 해결하기 위한 프로그램입니다. 이러한 분리적 최적화 문제의 모델링 및 솔루션은 아직 LP, MIP 및 NLP 모델링만큼 성숙도와 신뢰성의 단계에 도달하지 않았지만 이러한 문제는 풍부한 응용 분야를 가지고 있습니다. LogMIP 1.0은 A. Vecchietti, J.J. INGAR(산타페-아르헨티나)의 Gil 및 L. Catania 및 Carnegie Mellon University(미국 피츠버그)의 Ignacio E. Grossmann은 다음으로 구성됩니다.
- 접합 및 논리 제약 조건의 선언 및 정의를 위한 언어 컴파일러
- 선형 및 비선형 분리 모델용 솔버(lmbigm, lmchull, lmlboa)
LogMIP는 라이선스가 부여된 Windows 피망 슬롯 시스템과 함께 무료로 제공되지만 생성된 MIP/MINLP 모델을 해결하려면 하위 솔버가 필요합니다. 자세한 내용은 참조
모세크
- 새 라이브러리(버전 5.0.0.79)
CPLEXD 및 CONOPTD
- 피망 슬롯 22.7에는 CPLEXD와 CONOPTD라는 두 가지 실험적 솔버가 도입되었습니다. 이들은 전문적인 형제인 CPLEX 및 CONOPT에 비해 매우 유사합니다. 일부 기능이 부족하지만(예: CPLEXD는 QCP 모델을 해결하지 않음) 피망 슬롯와 솔버 간의 핵심 통신을 제공합니다. 피망 슬롯 프로그램에서 많은 모델을 해결하는 경우 시간을 절약할 수 있는 대규모 모델 스크래치 파일을 디스크에 작성할 필요가 없습니다. 이 코어 내 실행은 다음 설정으로 활성화됩니다.
모델 이름.solvelink=5;solve 문 앞에.
솔버/플랫폼 가용성 매트릭스
| 솔버/플랫폼 가용성 - 22.7: 2008년 5월 1일 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| x86 MS 윈도우 |
x86_64 MS 윈도우 |
x86 리눅스 |
x86_64 리눅스 |
선 스팍 솔라리스 |
선 스팍64 솔라리스 |
썬 인텔 솔라리스 |
HP 9000 HP-UX 111 |
DEC 알파 디지털 유닉스 4.0 |
IBM RS-6000 AIX 4.3 |
맥 PowerPC 다윈 |
맥 Intel32 다윈 |
SGI IRIX2 |
||
| ALPHAECP | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||
| 바론 8.1 | ![]() |
32비트 | ![]() |
32비트 | ![]() |
|||||||||
| BDMLP | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| 코인 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||||||
| CONOPT 3 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| CPLEX 11.0 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
10.0 | 8.1 | ![]() |
![]() |
9.1 | ||
| 데시스 | ![]() |
![]() |
![]() |
![]() |
![]() |
32비트 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| DICOPT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| 니트로 5.1 | ![]() |
32비트 | ![]() |
![]() |
![]() |
32비트 | ![]() |
![]() |
||||||
| 린도글로벌 5.0 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||
| LGO | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||
| 마일 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| MINOS | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| 모세크 5 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
3.2 | ![]() |
![]() |
||||
| MPSGE | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| MSNLP | ![]() |
![]() |
![]() |
![]() |
![]() |
32비트 | ![]() |
![]() |
![]() |
|||||
| NLPEC | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| OQNLP | ![]() |
32비트 | ![]() |
32비트 | ||||||||||
| OSL V3 | ![]() |
32비트 | ![]() |
32비트 | ![]() |
32비트 | V2 | ![]() |
V2 | |||||
| OSLSE | ![]() |
32비트 | ![]() |
32비트 | ![]() |
32비트 | ![]() |
|||||||
| 경로 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| SBB | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| SNOPT | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
| XA | ![]() |
32비트 | ![]() |
![]() |
![]() |
32비트 | ![]() |
![]() |
![]() |
|||||
| 익스프레스 18.00 | ![]() |
32비트 | ![]() |
32비트 | ![]() |
32비트 | 16.10 | ![]() |
||||||
| 1)HP용 피망 슬롯 배포 9000/HP-UX는 22.1입니다. | ||||||||||||||
| 2)SGI용 피망 슬롯 배포
IRIX는 22.3입니다. |
||||||||||||||
22.7.2 유지 관리 릴리스(2008년 5월 13일)
- DICOPT/ALPHAECP/LOGMIPLBOA: Cplex 확장 버그 수정
- 피망 슬롯/CPLEX: 작은 외관상 Cplex 버그 수정. "CPLEX 오류 3003: 혼합 정수 문제가 아닙니다."라는 오류가 발생했습니다. 해결된 문제를 해결할 수 없는 경우. 이는 노드 및 반복에 대한 일부 쿼리 호출로 인해 발생했습니다.
- GAMSIDE: gdx 데이터 뷰어에서 행이나 열을 평면 인덱스로 이동할 때 메모리 부족 오류가 발생할 수 있는 버그가 수정되었습니다.
- 피망 슬롯/DEA: GDX 파일에 0을 쓰지 마세요
- 피망 슬롯/LGOLIB: 메모리 누수 수정
- 사소한 문서 업데이트
- 참고: AIX 및 Mac OS X PPC는 업데이트되지 않았습니다.
