24.6 배포

24.6.1 주요 릴리스(2016년 1월 18일)

감사의 말씀

문제를 보고하고 이 릴리스 개선을 위한 제안을 해주신 모든 사용자에게 감사드립니다. 특히 Wolfgang Britz, Etienne Ayotte-Sauvé, Michael Ferris, Per Ivar Helgesen, Erwin Kalvelagen, Martha Loewe, Geoff Moore 및 Renger van Nieuwkoop에게 감사드립니다.

플랫폼

  • 최소 지원 Mac OS X 버전이 10.9(Mavericks)로 증가되었습니다. COIN-OR 솔버, Gurobi, SCIP 및 SoPlex에는 이제 Mac OS X 10.9 이상이 설치된 시스템이 필요합니다. 크레이지 슬롯 기본 시스템, 도구 및 기타 솔버는 Mac OS X 10.7 및 10.8에서 계속 작동하지만 추가 발표 없이 향후 릴리스에서는 작동이 중단될 수 있습니다.
  • Linux용 Wine 설치 프로그램이 삭제되었습니다.

크레이지 슬롯 시스템

크레이지 슬롯

  • 제어 세트 중첩 제한이 120에서 300으로 증가되었습니다.
  • 새로운 옵션셔플.
  • 명령줄 매개변수에 대한 새로운 옵션멀티패스:
    • 0: 표준 컴파일
    • 1: 체크아웃 편집
    • 2: 1로 추가로 건너뛰기$call그리고 누락된 파일로 인한 오류를 무시$include(신규)
  • 컴파일 시 매개변수에 변수 및 방정식 속성을 로드하도록 허용합니다. 예:$LOAD par=var.L(par는 매개변수이고 var는 변수)
  • 병렬 스레드에서 해결(베타 기능)

    다음의 새로운 변종solveLink옵션 및 모델 속성이 추가되었습니다. 만일solveLink6으로 설정됨(컴파일 시간 상수%solveLink.asyncThreads%), 크레이지 슬롯는 솔버가 반환될 때까지 기다리지 않으며 솔브 문이 실행될 때 결과를 수집하지 않습니다. 대신 크레이지 슬롯가 실행을 계속하는 동안 모델이 생성된 다음 별도의 스레드에서 솔버에 전달됩니다. 이렇게 하면 여러 모델을 동시에 해결할 수 있으며 나중에 결과를 수집할 수 있습니다.

    이것은 다음과 유사합니다.그리드 시설 (solveLink = %solveLink.asyncGrid%=3) 차이점은 솔버가 자체 프로세스 공간이 아니라 별도의 스레드에서 작동하므로 크레이지 슬롯와 솔버 간의 효율적인 메모리 내 통신이 가능하다는 점입니다(마치 처리된 것처럼solveLink = %solveLink.loadLibrary%=5). 풀이 문 후에 모델 인스턴스의 핸들을 저장할 수 있습니다(모델 속성 사용)mymodel.handle) 그리고 동일하게 사용함수그리드 시설에서 솔루션을 수집하고 모델 인스턴스를 처리하는 데 사용됩니다.핸들수집(핸들), 핸들상태(핸들)핸들삭제(핸들).

    새로운 기능ReadyCollect(handleParameter [, maxWait])모델을 수집할 준비가 될 때까지 기다리는 데 사용할 수 있습니다. 두 가지 모두에 사용할 수 있습니다.solveLink = %solveLink.asyncThreads%그리고solveLink = %solveLink.asyncGrid%. 인수 및 반환 코드는 다음과 같습니다.

    • 인수
      • handleParameter: 대기할 모델 인스턴스의 핸들을 보유하는 매개변수
      • maxWait: 최대 대기 시간(+INF생략된 경우)
    • 반환 코드
      • 0: (요청한 작업 중 하나)가 준비되었습니다.
      • 1: 대기할 활성 작업이 없습니다.
      • 2: 핸들이 제공되지 않음
      • 3: 잘못된 핸들
      • 4: a를 사용할 때 사용자가 지정한 시간 초과solveLink = %solveLink.asyncThreads%처리
      • 5: a를 사용할 때 사용자가 지정한 시간 초과solveLink = %solveLink.asyncGrid%처리
      • 8: 알 수 없는 오류(발생해서는 안 됨)

    새로운 옵션threadsAsync(명령줄 및 옵션 문에서 사용 가능)은 비동기 해결에 사용해야 하는 최대 스레드 수를 설정합니다. 음수를 설정하면 호스트 시스템에서 사용하지 말아야 할 프로세서 수를 지정합니다. 기본 설정은 -1입니다.

    현재 다음 솔버를 사용할 수 있습니다.solveLink = %solveLink.asyncThreads%:

    • CONOPT
    • CPLEXD
    • 구로비
    • 모세크
    • OSICPLEX
    • 오시구로비
    • SCIP

    다른 솔버를 선택하면,solveLink = %solveLink.asyncGrid%대신 사용됩니다(로그에 기록되어 있음).

    이 새로운 기능을 사용할 수 있는 방법의 예는 크레이지 슬롯 모델 라이브러리 모델에서 볼 수 있습니다.tgridmix.

EMP를 사용한 확률론적 프로그래밍

  • 다음을 사용하여 매개변수 분포에 대한 잘못된 예상 값을 발생시키는 버그를 수정했습니다.랜드바르키워드.

해결사

안티고네

  • 새로운 라이브러리.

바론

  • 크레이지 슬롯/BARON 옵션 파일의 분기 우선순위 처리가 변경되었습니다. 이제 항상 우선순위가 주어져야 합니다.크레이지 슬롯 협약.

변환

  • 크레이지 슬롯 분기 우선순위는 이제 BARON 입력 파일을 작성할 때 BARON 분기 우선순위로 변환됩니다.

CPLEX

  • 새 라이브러리 12.6.3.
  • Cplex 및 CplexD는 이제 결정론적 시간 소비(in초 단위 아님) in the모델 속성 ETAlg.
  • IBM의 Cplex 클라우드 제공 "DOcloud"는 "Kestrel 솔버"를 통해 액세스할 수 있습니다.

DICOPT

  • 새로운 옵션usexinitDICOPT에 사용자 제공 입력 지점에서 NLP 하위 해결을 시작하도록 지시합니다.

구로비

  • 새 라이브러리 6.5.
  • 새로운 옵션PreMIQCPFormMIQCP 모델의 미리 해결된 버전의 형식을 결정합니다.
  • 새로운 옵션워커포트분산 작업자 시스템에 대한 기본이 아닌 포트 번호를 지정합니다.
  • 새로운 옵션VarHint. 변수 힌트는 다음을 통해 전달됩니다.레벨그리고tryintGurobi가 실행 가능한 솔루션을 찾기 위해 사용하는 경험적 방법과 Gurobi가 MIP 검색 트리를 탐색하기 위해 내리는 분기 결정에 영향을 미칩니다.
  • 크레이지 슬롯/Gurobi는 다음에서 모델 해결을 지원합니다.구로비 인스턴트 클라우드.
  • 옵션 문제를 해결했습니다.IISSOS 변수가 있는 모델의 경우.

IPOPT

  • MKL Pardiso를 다음과 같이 사용할 수 있습니다.선형 솔버Mac OS X에서도 마찬가지입니다.

KESTREL

  • Kestrel 클라이언트는 "IBM의 DOcloud" 제품에 대한 실험적인 액세스를 제공합니다.

경로

  • Lemke 메소드의 기준 재설정 루틴에서 허용오차 0에 대한 사소한 수정입니다.

술룸

  • Sulum은 크레이지 슬롯 24.8 배포판에서 삭제됩니다.

익스프레스

  • Windows 및 Linux용 최적화 라이브러리 업데이트: 28.01.05 → 28.01.10.
  • 일부 특수한 경우의 정확성과 성능에 영향을 미치는 몇 가지 사소한 버그 수정.

도구

질문

크레이지 슬롯 IDE

  • 기호 이름별 정렬은 더 이상 대소문자를 구분하지 않습니다.
  • GDX 뷰어는 이제 완전한 정밀도로 숫자를 표시할 수 있습니다.
  • 옵션 편집기는 더 이상 점 옵션을 표시하지 않습니다.
  • 빨간색 선을 더블클릭한 후 커서가 표시되지 않는 버그를 수정했습니다.

GDX2SQLITE

  • 새 버전 0.7.
    • 추가된 옵션varchar문자 열을 다음으로 내보내려면VARCHAR(255)대신에텍스트.
    • 옵션일 때 더 나은 열 이름작은사용됩니다.
    • 타이밍 정보 추가.

GDXMERGE

  • 메모리 오류를 일으키는 매우 큰 기호로부터 보호합니다.
  • 추가된 옵션제외기호가 병합되지 않도록 제외합니다.

GDXXRW

  • 빈 범위는 더 이상 오류가 아닙니다.

SQL2GMS

  • 이전 버전에서는 명령 파일을 읽을 때 큰따옴표가 제거되었습니다. 이 버전에서는 SQL 이름(테이블 이름, 열 이름)을 이스케이프할 수 있도록 큰따옴표를 유지합니다. 예: 이제 쿼리에서 큰따옴표를 사용하여 비표준 이름을 처리할 수 있습니다. 데이터베이스에 따라 다음을 수행할 수 있습니다.

    q="이 테이블"에서 "일부 열" 선택

    일부 데이터베이스(예: SQL Server)에서는 이 목표에 [ ]를 사용합니다.

    당신이 쓰는 특별한 경우:

    q="t에서 c 선택"

    쿼리를 데이터베이스에 전달하기 전에 주변 큰따옴표가 제거됩니다.

MODEL2TEX

  • 식별자가 JSON 스타일 파일의 사양을 사용하여 변경되면 밑줄은 더 이상 "_"에서 "\_"로 변경되지 않습니다. 이렇게 하면 식별자를 교체할 때 아래 첨자를 사용할 수 있습니다.

객체 지향 API

자바

  • 버그 수정GAMSModelInstance.copyModelInstance스크래치 디렉터리를 복제할 때의 방법입니다.

파이썬

  • 새로운 예transport8a.py.

모델 라이브러리

크레이지 슬롯 EMP 라이브러리

  • nbcontindep: Lindo가 아닌 다른 솔버가 선택된 경우 연속 분포에 샘플링을 사용합니다.
  • nbcontjoint: Lindo가 아닌 다른 솔버가 선택된 경우 연속 분포에 샘플링을 사용합니다.
  • nbs단순: 이산 분포 사용

크레이지 슬롯 테스트 라이브러리

솔버/플랫폼 가용성 - 24.6
  x86 32비트
MS 윈도우
x86 64비트
MS 윈도우
x86 64비트
리눅스
x86 64비트
맥 OS X
x86 64비트
솔라리스
스팍 64비트
솔라리스
IBM 파워 64비트
AIX
ALPHAECP x x x x x x x
안티고네 1.1 x x x x      
바론 15.9 x x x x      
BDMLP x x x x x x x
본민 1.8 x x x x x    
CBC 2.9 x x x x x    
CONOPT 3 x x x x x x x
쿠엔느 0.5 x x x x x    
CPLEX 12.6 x x x x x x x
데시스 x x x     x  
DICOPT x x x x x x x
글로미코 2.3 x x x x      
구로비 6.5 x x x x     x
거스 x x x x x x x
IPOPT 3.12 x x x x x    
KESTREL x x x x x x x
니트로 10.0 x x x x      
LGO x x x x x x  
린도 9.0 x x x x      
린도글로벌 9.0 x x x x      
로컬솔버 5.5 x x x x      
마일 x x x x x x x
MINOS x x x x x x x
모세크 7 x x x x      
MSNLP x x x x   x  
NLPEC x x x x x x x
OQNLP x 32비트          
경로 x x x x x x x
SBB x x x x x x x
SCIP 3.2 x x x x x    
SNOPT x x x x x x x
소플렉스 2.2 x x x x x    
술럼 4.3 x x x        
XA x x x        
익스프레스 28.01 x x x x x x x