22.1 주요 릴리스(2006년 3월 15일)

GAMS 시스템

이산변수 완화(.prior=Inf)

  • 이산 변수의 우선순위 속성은 특정 변수 인스턴스를 완화하는 데 사용될 수 있습니다. 우선순위 속성.이전해를 검색하는 동안 변수가 정수 값으로 고정될 순서를 설정합니다. 특정를 갖는 변수.이전모든 변수가 더 낮은 값을 가질 때까지 값은 완화된 상태로 유지됩니다..이전값이 수정되었습니다. 설정.이전값을 +inf로 설정하면 이 변수가 영구적으로 완화됩니다. 이 완화는 크레이지 슬롯 속성과 관계없이 수행됩니다..prioropt.

    이 기능은 어려운 이산 크레이지 슬롯을 해결하는 데 유용합니다. 크레이지 슬롯 라이브러리 크레이지 슬롯 "선형 재귀 시퀀스 최적화 크레이지 슬롯"(lrs.gms)은 k의 처음 n 변수만 이진이고 나머지 변수는 분수임을 지정하는 이 기능의 사용을 보여줍니다. 이는 간단히 다음과 같이 표현됩니다.

    SET t 시간 범위 /1*350/, f(t) 처음 N 단계 /1*48/;
      이진변수 k(t);
      ...
      k.prior(t) = inf; k.prior(f) = 1;

파생 변수 및 방정식 속성(.slacklo,.slackup,.slack,.infeas)

  • 느슨함 및 실행 불가능성과 관련된 계산이 4개의 새로운 파생 속성으로 단순화되었습니다. 이러한 속성은 다음과 같이 방정식과 변수에 정의됩니다.

    x.slacklo = max(x.l-x.lo,0);
      x.slackup = max(x.up-x.l,0);
      x.slack = min(x.slacklo,x.slackup);
      x.infeas = - min(x.l-x.lo,x.lu-x.l,0);

    느슨함이나 실행 불가능성은 항상 0이거나 양수라는 점에 유의하십시오.

향상된 크레이지 슬롯 목록

  • 이제 크레이지 슬롯 목록의 항목에는 이전에 정의된 크레이지 슬롯이 포함될 수 있습니다. 예를 들면:
    크레이지 슬롯 1 / e1,e2,e3 /
      둘 / 하나, e4 /
      3 / 2, e5 /;
    크레이지 슬롯 2에는 이제 방정식이 포함됩니다.e1,e2,e3,e4. 크레이지 슬롯 3에는 크레이지 슬롯 2와 방정식이 모두 포함됩니다.e5.

새 크레이지 슬롯 유형

  • RMPEC: 크레이지 슬롯 유형MPEC이제 이산 변수를 허용합니다. RMPEC(Relaxed Mathematical Program with Equilibrium Constraints) 크레이지 슬롯은 RMIP 및 MIP 크레이지 슬롯과 마찬가지로 이산 변수를 완화합니다.

향상된 $IF/IFI 문:

  • 디렉토리 존재 여부 확인이 $if 문에 추가되었습니다.
    $IF DEXIST 디렉토리 명령
      $IFI DEXIST 디렉터리 명령

GDX 유틸리티

GDXDIFF

  • 키 값 쌍이 한 파일에는 있고 다른 파일에는 없으면 Eps를 사용하여 차이점을 보고해야 하는지 결정합니다.

GDXDUMP

  • 이제 예약어 등의 문제를 피하기 위해 출력의 모든 고유 요소가 인용됩니다.

GDXMERGE

  • 지정된 식별자만 병합하고, 매우 큰 데이터 세트를 병합하고, 파일(@filename)에서 매개변수를 읽는 새로운 옵션이 도입되었습니다.

GDXXRW

  • 범위의 왼쪽 상단만 지정된 경우 병합 문제가 해결되었습니다.

GAMS IDE

  • lst 파일에 대한 뷰어를 추가했습니다. 편집기와 달리 이 뷰어는 전체 파일을 메모리에 로드하지 않습니다.
  • lst 파일에 대한 탐색 트리를 추가했습니다.
  • gdx 파일을 사용하여 차트를 생성하는 옵션을 추가했습니다.
  • 프로세스 창을 제외한 모든 뷰어는 이제 탭 창으로 구성됩니다.
  • gdxviewer는 gdx 파일에 대해 마지막으로 본 기호를 기억하고 파일을 열 때 기호를 선택합니다.
  • 라이브러리의 다른 항목을 사용하기 위한 라이브러리 파일의 확장된 형식.

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

Testlib 라이브러리

McCarl GAMS 사용자 가이드

  • 더 나은 배포 형식을 허용하기 위한 광범위한 내부 변경
  • 이제 주제가 완전히 링크된 단일 .chm 파일과 단일 .pdf 파일로 배포됩니다.

해결사

바론

  • XA는 이제 BARON 내에서 LP 솔버로 사용될 수 있습니다.
  • LP 솔버 Cplex 및 XA의 경우 사용자는 BARON 옵션을 사용하여 LP 알고리즘(원초/이중 단방향, 장벽)을 지정할 수 있습니다.lpalg.
  • 사용자는 옵션을 사용하여 BARON의 노드 선택 방식을 제어할 수 있습니다.nodesel. 사용 가능한 전략에는 최상의 경계, DFS, 최소 실행 불가능성 및 BARON 자체 혼합이 포함됩니다.

CONOPT

  • 새 라이브러리(버전 3.140)
    • 크기 조정 방법은 작은 수준과 큰 도함수(예: 0에 가까운 x에 대한 sqrt(x))가 있는 크레이지 슬롯에서 더 잘 작동하도록 개선되었습니다.
    • 이전 버전의 사소한 문제가 수정되었습니다.

CPLEX

  • 새 라이브러리(버전 10.0)
    • 삭제된 플랫폼: ILOG는 SGI 플랫폼에서 CPLEX 10.0에 대한 지원을 중단했습니다. 또한 glibc2.2를 사용하는 Linux에 대한 지원이 중단되었지만 GAMS 22.1이 출시되면 사용할 수 있기를 바랍니다. 중단된 플랫폼용 GAMS 22.1은 이전 버전의 CPLEX를 제공합니다.
    • 솔루션 폴리싱: 솔루션 폴리싱은 지정된 시간 내에 복잡하고 어려운 MIP 크레이지 슬롯에 대한 최상의 솔루션을 찾는 데 적합합니다. Solution Polishing은 최적성이 입증되지 않은 경우 분기 및 절단 프로세스 마지막에 최상의 솔루션을 개선하는 데 사용됩니다.
    • MIP 시작: 초기 솔루션, 부분 솔루션 및 부분 올바른 솔루션을 활용하도록 CPLEX의 고급 재시작 기능이 개선되었습니다. 사용자가 이산 변수의 일부에 대해서만 값을 지정하는 경우 CPLEX 10.0은 누락된 값을 채우거나 정수 실현 가능 솔루션으로 이어지는 방식으로 잘못된 값을 수정하려고 시도하여 잠재적으로 문제 해결 시간을 단축합니다.
    • 불가능성 분석 도구: CPLEX는 실현 불가능한 크레이지 슬롯에 대한 최상의 실현 가능한 대안을 찾기 위한 자동 접근 방식을 제공합니다. 이 접근 방식은라는 옵션에 의해 활성화됩니다.FeasOpt(for가능한 최적화).FeasOpt옵션 CPLEX는 실행 불가능한 크레이지 슬롯을 승인하고 가중 페널티 함수를 최소화하는 방식으로 경계 및 제약조건을 선택적으로 완화합니다. 본질적으로, 실현 가능한 완화는 실현 가능성을 달성할 수 있는 최소한의 변화를 제안하려고 합니다. 실행 불가능한 솔루션을 GAMS에 반환하고 솔루션 섹션의 INFES 마커를 사용하여 경계 및 제약 조건의 완화를 표시합니다.
    • 자세한 내용은 다음을 확인하세요.GAMS/CPLEX 10 출시 노트.

DICOPT

  • 새로운 옵션 infeasder: 실행 불가능한 NLP 하위 문제의 선형화를 허용합니다.

심사관

  • 기본 동작이 변경되었습니다. 선택한 작업이 없으면 Examiner는 경고 메시지를 인쇄하고 기본값은 "examineInitPoint yes"입니다.
  • 새로운 RMPEC 크레이지 슬롯 유형을 처리하도록 조정되었습니다. 현재 MPEC 크레이지 슬롯은 허용되지 않습니다.
  • 점검을 위한 보고서 형식이 변경되었습니다:
    • 검사 중인 지점에 대한 더 나은 라벨 지정 - 검사를 선택하는 데 사용되는 명명 체계 및 옵션과 일치
    • GAMS 표기법 사용(예:x.l(시애틀,토피카), f.m(공급)) 행/열 지정
    • 값 자체에 비해 차이가 작은 경우 명시적으로 여유/차이를 인쇄하려면 'showSlacks' 옵션을 추가

익스프레스

  • 새 라이브러리 (버전 16.10.03)
    • 이중 가격 책정 알고리즘이 개선되었습니다. 일부 어려운 LP 문제의 경우 이로 인해 속도가 크게 향상되었습니다.
    • 심플렉스 분해의 속도와 안정성이 향상되었습니다.
    • 이제 장벽 알고리즘은 더 적은 메모리를 필요로 합니다.
    • 컷 생성이 개선되었습니다.