41 배포

41.1.0 주요 릴리스(2022년 10월 28일)

감사의 말씀

문제를 보고하고 이 릴리스 개선을 위한 제안을 해주신 모든 사용자에게 감사드립니다. 특히 Marcel Adenauer, Sebastian Braun, Wolfgang Britz, Arne Stolbjerg Drud, Michael Ferris, Mitch Phillipson 및 Zhang Tao에게 감사드립니다.

플랫폼

  • 다음 주요 릴리스에서는 macOS 10.15에 대한 지원을 중단할 계획입니다.
  • 우리는 다음 주요 릴리스에서 Windows 8.1에 대한 지원을 중단할 계획입니다.

GAMS 시스템

연결

  • Connect의 메가 슬롯 이름은 이제 대소문자를 구분하지 않습니다. 전역 속성caseSensitiveLookup삭제되었습니다.
  • 새로 추가됨연결여러 메가 슬롯를 단일 메가 슬롯로 연결할 수 있는 에이전트.
  • CSV리더, PandasExcelReaderPandasSQLReader이제 완화된 도메인 정보를 읽습니다.
  • PandasSQLReader이제 pyodbc 연결을 지원합니다. 연결 유형은 새로운 옵션을 통해 구성할 수 있습니다.연결 유형.
  • 옵션읽기모두그리고writeAll일부 에이전트에서 사용 가능하며 기본값은 값입니다.자동. 그렇다면 만약메가 슬롯섹션이 누락되었습니다.자동되다, 그렇지 않은 경우거짓.
  • 버그 수정PandasExcelWriter그리고PandasSQLWriter예외 발생 시 파일/데이터베이스 연결이 제대로 닫히지 않습니다.
  • 버그 수정GAMSWriter그리고GDXWriter완화된 도메인으로 빈 메가 슬롯를 작성하면 실패합니다.
  • 버그 수정PandasExcelReader그리고CSV리더생성될 것임NaN뒤에 공백이 있는 라벨의 항목입니다.

GAMS

  • 다음과 같이발표됨일부 상업 및 라이센스 정보에 접근하기 위해 언어 요소를 제거했습니다.
    • 시스템 접미사구성요소, clipCodes, clipComponentMap, ComponentSolverMap, gams라이센스, gamsLicenseTypes, 이1, 이2, licenseDateEvalN, licenseDateEvalS, licenseDateMaintN, licenseDateMaintS, 라이센스 날짜N, 라이센스 날짜S, licenseDateSysN, licenseDateSysS, licenseDaysEval, licenseDaysMaint, licenseDC, 라이센스 평가, 라이센스ID, 라이센스기관, licenseLevelText, 라이센스라이센스 사용자, licenseMudText, 라이센스 플랫폼, licensePlatformText, 라이센스상태, licenseStatusText, 라이센스 유형, 라이센스 공급업체공급업체.
    • 사전 정의된 세트컴포넌트EDate, 컴포넌트MDate구성요소LicenseOptions.
    • 이러한 요소 중 다수는 GAMS 모델 라이브러리 모델에서 사용되었습니다.licememo, 우리도 삭제했습니다.
  • 새로운 내장 함수 추가lseMax, lseMaxSc, lseMinlseMinSc.
  • 새로운 달러 제어 옵션 추가$on/offSuffixAlgebraVars및 관련 명령줄 매개변수SuffixAlgebraVars모델 대수학에서 변수 접미사(속성이라고도 함) 사용을 허용하지 않습니다. 이 옵션을 사용하면 방정식 대수학에서 접미사가 포함된 변수의 의도하지 않은 사용을 쉽게 감지할 수 있습니다.
  • 한도를 초과할 때 메시지 개선GAMS 커뮤니티 라이센스또는데모 라이센스.
  • 다음에 대한 Windows 메모리 보고를 패치했습니다.showOSMemory그리고procTreeMemMonitor, 명확한 문서를 추가했습니다.

GMS파이썬

  • 패키지를 추가했습니다psycopg2.
  • 패키지를 제거했습니다pyyaml-include.

내장된 Python 코드 기능

  • Windows에서는 Python DLL이 있는 디렉토리가 자동으로 다음에 추가됩니다.PATH, 일부 DLL이 제대로 발견되었습니다.

해결사

안티고네, CBC, Ipopt, SCIP, SHOT

  • Linux 및 macOS에서 MKL을 2022.2.0으로 업데이트했습니다.

바론

  • 새 라이브러리 22.9.30.
    • 이진 2차 프로그램에 대한 개선된 완화를 포함하여 볼록 및 2차 문제에 대한 더 나은 처리.
    • 개선된 절단, 범위 감소 및 분기 전략.
    • 향상된 연속 및 정수 사전 해결 알고리즘.
    • CPLEX, CBC 및 IPOPT에 대한 인터페이스가 개선되었습니다.

CONOPT

  • 새 라이브러리 3.17N.
  • 새로운 라이브러리 4.29.

변환

  • 추가된 옵션AmplNL: AMPL을 생성합니다.nl파일.
  • 추가된 옵션AmplNLBin: 쓰기를 활성화합니다.nl바이너리 형식의 파일.

COPT

  • 새 라이브러리 5.0.5.
  • 옵션 값 1프리졸브"빠른 사전 해결"을 의미하도록 변경되었습니다. 일반 및 공격적인 사전 해결 수준을 지정하기 위해 추가 값 2와 3이 추가되었습니다.

CPLEX

  • 변경됨iis부울에서 정수 옵션으로 및 추가된 옵션 값 2: 이전 해결 없이 충돌 분석.
  • 모델 속성에 보고된 시간resUsd이제 선택한 항목에 해당합니다시계 유형. 즉, 다음과 같은 경우 CPLEX가 소비한 CPU 시간이 보고됩니다.시계 유형1로 변경되었습니다.

DICOPT

  • 추가된 옵션dumpsubprobMIP 및 NLP 하위 문제를 GAMS 파일로 쓰기를 활성화합니다.

구로비

  • 더 많은 지원을 추가했습니다비선형 제약조건: 1-norm, 2-norm 및 inf-norm이 비선형 표현식으로 지정되었습니다.
  • 더 이상 사용되지 않는 도트 옵션.GenConstrType: 이용해주세요비선형 표현식대신.
  • 변경됨iis부울에서 정수 옵션으로 및 추가된 옵션 값 2: 이전 해결 없이 충돌 분석.

아이팝트

  • 새 라이브러리 3.14.10.
  • i) 선형 목적 함수, ii) 2차 목적 및 선형 제약 조건, iii) 선형 등식 제약 조건만 또는 iv) 선형 부등식 제약 조건만 있는 문제에 대한 약간의 성능 개선.

린도/린도글로벌

  • 새 라이브러리 14.0.162:
    • LP 솔버 개선:
      • 대안 최적점 검색을 위한 향상된 알고리즘.
    • MIP 솔버 개선:
      • 어려운 문제를 해결할 때 검색 매개변수 선택이 향상되었습니다.
    • 선형화:
      • 이전 버전보다 더 많은 표현을 인식합니다.
      • QP 및 원뿔 모델의 고급 선형화.
    • 비선형 솔버 개선:
      • 이 클래스에 대한 분수 선형 프로그램 및 알고리즘 개선 인식.
    • 전역 솔버 개선:
      • 성능 향상을 위해 초공간에서 최적화할 보조 변수를 도입합니다.
      • 가능한 차선책에 대한 경고 메시지가 개선되었습니다.
      • 바운드 강화 프로세스가 개선되었습니다.
  • 새로운 내장 함수에 대한 지원 추가lseMax.

모세크

  • 새 라이브러리 10.0.25.
    • 원뿔 문제에 대한 사전 해결이 개선되었습니다.
    • 대형 LP 및 최신 AMD CPU에서 실행 시 인테리어 포인트 최적화 성능이 향상되었습니다.
    • 향상된 절단면 분리 및 혼합 정수 프로그램에 대한 사전 해결.
    • 대칭 탐지 및 혼합 정수 프로그램 활용이 추가되었습니다. 새로운 옵션MSK_IPAR_MIO_SYMMETRY_LEVEL대칭 감지 및 처리 수준을 제어합니다.
    • MIQCP에 대한 재공식이 도입되었습니다. 이를 통해 볼록 MIQCP로 재공식화할 수 있는 더 많은 비볼록 MIQCP의 솔루션을 허용합니다. 새로운 옵션MSK_IPAR_MIO_QCQO_REFORMULATION_METHOD재공식화 방법을 설정합니다.
    • 새로운 옵션을 사용하여 혼합 정수 프로그램에 대한 메모리 절약 및 더 높은 수치 강조를 가능하게 하는 가능성이 추가되었습니다.MSK_IPAR_MIO_MEMORY_EMPHASIS_LEVEL그리고MSK_IPAR_MIO_NUMERICAL_EMPHASIS_LEVEL각각.
    • 새 옵션을 활성화하여 모든 정수 변수를 초기 수준 값으로 수정하여 얻은 연속 문제를 해결할 수 있는 가능성이 추가되었습니다.MSK_IPAR_MIO_CONSTRUCT_SOL.
    • 추가 옵션 변경 사항:

옥터랙트

  • 새 라이브러리 4.5.1.

ODHCPLEX

  • 모델 속성에 보고된 시간resUsd이제 선택한 항목에 해당합니다시계 유형. 즉, 다음과 같은 경우 ODHCPLEX가 소비한 CPU 시간이 보고됩니다.시계 유형1로 변경되었습니다.

SCIP

  • 새 라이브러리 8.0.2.

XA

  • 다음과 같이발표됨, XA를 삭제했습니다.

익스프레스

  • 새 라이브러리 40.01.03.

도구

GAMS 스튜디오

  • 새 버전 1.12.1.
    • 새로운 기능: 네비게이터 (Ctrl+k)
      • 참고: 이 기능은 현재 베타 버전이며 아직 마우스를 지원하지 않습니다!
      • 검색어를 입력하여 파일을 필터링하세요. 와일드카드도 지원됩니다(예:*.gms).
      • 누르세요입력선택한 파일로 이동합니다.
      • 유형?사용 가능한 모든 접두어에 대한 도움말을 표시합니다.
      • 이동- 그리고탭브라우저-대화상자는 이제 더 이상 사용되지 않으며 향후 제거될 예정입니다.
    • GDX 뷰어 개선:
      • 새로운 기능: 내보내기 대화 상자의 첫 번째 버전이 추가되었으며 현재는 Excel 출력만 지원합니다.
      • 새로운 기능: 빠른 선택 추가됨GDX 뷰어 필터.
      • 자동 크기 조정 동작이 개선되었습니다.
      • 특히 테마가 변경되었을 때 메가 슬롯 테이블 색상이 개선되었습니다.
    • 검색 및 바꾸기 개선 사항:
      • 다음에서 일치하는 항목에 강조 표시를 추가했습니다.검색결과 보기.
      • 정규 표현식에 대한 캡처 그룹 지원을 추가했습니다.검색 대화상자.
    • MIRO 배포 대화상자 및 EFI 편집기에 필터를 추가했습니다.
    • 프로젝트 탐색기에서 Pin-View로 직접 열 수 있는 기능 추가 byCtrl+더블클릭(수평 핀의 경우) 또는Ctrl+Shift+더블클릭(수직 핀의 경우).
    • 메인 탭에 아이콘을 추가했습니다(macOS 제외).
    • 긴 줄에 대한 구문 강조를 건너뛰는 편집기 설정을 추가했습니다(이로 인해 성능이 크게 향상될 수 있습니다).
    • 안정성 개선, 버그 수정 및 사소한 개선 사항, 예:
      • GAMS 버전 불일치 오류 메시지를 경고 메시지로 변경했습니다.
      • 별칭이 선택된 파일을 다시 로드할 때 GDX 뷰어 충돌이 수정되었습니다.
      • macOS에서 탭을 전환할 때 발생하는 충돌을 수정했습니다.
      • 파일이 하나 이상의 프로젝트에 연결되어 있는 여러 파일 검색 시 프로젝트 변경 사항을 수정했습니다.
      • 메인 파일을 EFI 파일에 추가할 때 예상치 못한 동작을 수정했습니다.
      • 사용 후 프로젝트 탐색기의 새 항목에 대한 잘못된 컨텍스트 메뉴를 수정했습니다.다른 이름으로 저장....
      • 이름에 공백이 포함된 모델이 NEOS 및 엔진에서 실행되지 않는 문제를 수정했습니다.

GDXRRW

  • GDXRRW는 이제 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. 이용해주세요GAMS 전송 R대신. GAMS Transfer R로 전환하는 데 문제가 발생하거나 GAMS Transfer R에 대한 기능 요청이 있거나 전환에 대한 우려 사항이 있는 경우 주저하지 말고 GAMS 지원팀에 문의하세요.

GDXXRW

  • 파일에서 읽을 때 지원되는 행 또는 열 수 제한에 도달하면 이제 후속 항목을 건너뛰었을 수 있다는 경고가 표시됩니다.

$libInclude win32

  • 추가됨XLSMerge기능<sysdir>\inclib\win32.gms두 개의 Excel 통합 문서를 병합합니다.

API

gams2numpy

  • UTF-8이 아닌 문자로 인해 더 이상 예외가 발생하지 않습니다. 대신, 이러한 문자는 Python 오류 처리기를 사용하여 대체 표현으로 전송됩니다.백슬래시교체. 이 변경 사항은 다음과 같습니다.gams2numpy및 모든 클라이언트 –GAMS 전송, 연결gams_magic(Jupyter 노트북).
  • 이제 바이너리가 빌드됩니다.numpy 1.21.6Python 3.7 및numpy 1.23.3Python 3.8, 3.9 및 3.10용.

GAMS 전송 Matlab

  • 중단: 메가 슬롯 이름 고유성은 이제 대소문자를 구분하지 않고 확인됩니다. 예를 들어,라는 이름의 세 가지 다른 메가 슬롯를 갖는 것은 더 이상 불가능합니다.메가 슬롯, 메가 슬롯메가 슬롯.
  • 중단: 변경됨Symbol.addUELs서명UELs 추가(dim, uels)UEL 추가(uels, 희미함). 어두움이제 차원 벡터를 허용합니다.
  • 중단: 변경됨Symbol.setUELs서명setUELs(dim, uels)setUELs(uels, 희미함)그리고setUELS(_, "이름 바꾸기", 참/거짓). 설정이름 바꾸기이전을 트리거합니다Symbol.initUELs. 어두움이제 차원 벡터를 허용합니다.
  • 중단: 변경됨Symbol.removeUELs서명removeUELs(dim, uels)removeUELs(), removeUELs(uels)removeUELs(uels, 희미한). 어두움이제 차원 벡터를 허용합니다.
  • 중단: 변경됨Symbol.renameUELs서명renameUELs(희미한, olduels, 뉴엘)이름 바꾸기UELs(uels)그리고renameUELs(uels, 희미한). 우엘스이제 가능합니다cellstr, 구조체또는컨테이너.지도. 어두움이제 차원 벡터를 허용합니다.
  • 추가된 방법Container.getSymbolNames모든 경우의 메가 슬롯 이름 목록에 대한 원래 메가 슬롯 이름을 반환합니다.
  • 추가된 방법Container.hasSymbols메가 슬롯 이름(대소문자 구분 없음)이 존재하는지 확인합니다.
  • 추가된 방법Container.getUELs모든 메가 슬롯에서 UEL을 가져옵니다.
  • 추가된 방법Container.removeUELs모든 메가 슬롯에서 UEL을 제거합니다.
  • 추가된 방법Container.renameUELs모든 메가 슬롯에서 UEL의 이름을 변경합니다.
  • 추가된 방법Symbol.reorderUELs레코드의 의미를 변경하지 않고 UEL을 재정렬합니다.
  • 플래그 추가컨테이너.수정됨그리고심볼.수정됨마지막 재설정 이후 컨테이너 및/또는 메가 슬롯가 수정되었는지 여부를 나타냅니다.
  • UEL 코드 필터링 가능성 추가Symbol.getUELs.
  • 차원 벡터를 전달할 가능성이 추가됨Symbol.getUELs.
  • 메가 슬롯를 덮어쓸 가능성이 추가됨컨테이너.추가*주요 메가 슬롯 정의(예: 유형, 도메인)가 동일한 경우.
  • 변경됨Container.getSymbols, Container.removeSymbol, Container.renameSymbol, 컨테이너.설명*및 기타Container.getSymbols메가 슬롯 이름은 대소문자를 구분하지 않고 허용합니다.
  • 기본 레코드의 변경된 동작: 레코드 형식이 다음과 같은 경우 기본 레코드는 더 이상 GDX에 기록되지 않습니다.dense_matrix컨테이너가 색인 모드에 있거나 메가 슬롯에 일반 도메인이 있는 경우.
  • 다음 동작 변경됨getDomainViolations: GDX에서와 마찬가지로 대소문자가 달라도 도메인 위반으로 이어지지 않습니다.
  • 이제 레코드 도메인 라벨에 대한 범주는 다음을 사용하여 생성됩니다.서수다음으로 설정됨사실, 그러나 순서형 범주는 적용되지 않습니다. 즉, 사용자는 다음을 사용하여 범주를 전달할 수 있습니다.서수다음으로 설정됨거짓.
  • 메가 슬롯 하위 집합을 읽을 때 메가 슬롯 읽기 순서가 변경되었습니다. 메가 슬롯 순서는 사용자가 제공한 순서가 아닌 소스 순서(예: GDX 파일의 메가 슬롯 순서)에 따라 정의됩니다. 읽은 후 맞춤 순서를 설정하려면 다음을 사용하세요.reorderSymbols.
  • 지원 중단됨Symbol.getUELLabels. 사용Symbol.getUELs대신.
  • 지원 중단됨Symbol.initUELs. 사용Symbol.setUELs대신.
  • 지원 중단됨Container.getUniverseSet. 사용Container.getUELs대신.
  • 사용 시 메가 슬롯 생성자 오류 수정도메인_전달, 그러나 선택적 인수는 없습니다.
  • 수정됨Symbol.transformRecords(도메인 세트 레코드와 UEL이 다른 경우를 대비해 테이블 형식에서 행렬 형식으로).
  • 세트 위에 정의된 세트 쓰기 문제를 수정했습니다.

GAMS 전송 Python

  • API가 GAMS 동작을 더욱 유사하게 모방하도록 재설계되었습니다(즉, GAMS는 대소문자를 구분하지 않고 대소문자를 보존합니다).
  • .datadict가 사용자 정의로 대체되었습니다.dict메가 슬롯 이름의 대소문자를 보존합니다. 이는 GAMS의 규칙을 모방합니다. 이 사용자 정의에서 메가 슬롯 조회dict대소문자를 구분하지 않습니다.
  • 차원, 메가 슬롯 및 컨테이너 UEL을 사용자 정의하는 새로운 방법을 추가했습니다:getUELs, setUEL, UEL 이름 바꾸기, removeUELs, UEL 추가재주문UEL
  • 새 메가 슬롯 방법같음메가 슬롯 개체를 비교하는 데 사용할 수 있습니다.
  • 컨테이너 메소드 지원 중단getUniverseSet. 이 메서드는 향후 주요 릴리스에서 제거될 예정입니다. 사용<컨테이너>.getUELs()대신.
  • 컨테이너 메소드추가세트, 추가별칭, addParameter, 추가변수addEquation이제 메가 슬롯 덮어쓰기가 허용됩니다. 이전에는 오류가 발생하여 재생성하기 전에 메가 슬롯를 제거해야 했습니다.
  • 새 클래스UniverseAlias및 새로운 컨테이너 메소드addUniverseAlias우주의 별칭인 메가 슬롯 생성을 허용합니다(버그 수정).
  • 다음으로 레코드를 설정할 때 컨테이너는 더 이상 메가 슬롯 범주를 함께 연결하지 않습니다.setRecords; 도메인 위반을 초래하는 데이터는 즉시 손실되지 않으며 사용자는 해당 위치에서 수정할 수 있는 유연성이 더 커집니다.컨테이너.
  • 다음 동작 업데이트됨removeSymbols: 집합/별칭이 제거되면 종속 메가 슬롯의 도메인이 "*"로 완화됩니다. 별칭의 상위 세트가 제거되면 별칭 메가 슬롯도 자동으로 제거됩니다.
  • 다음이라는 새로운 클래스를 구현했습니다.도메인 위반데이터에서 도메인 위반이 발생하는 위치를 정리합니다.
  • 새로운 방법getDomainViolations목록을 반환하려면도메인 위반객체가 존재해야 합니다.
  • 방법*도메인 위반모든 적절한 도메인 세트를 참조하여 도메인 위반을 찾습니다.findDomainViolations이제 다음의 보기를 반환합니다.기록모든 도메인 위반을 포함하는 DataFrame(이전에는 다음만 반환했습니다.색인도메인 위반이 발생한 곳).
  • 방법*중복 레코드대소문자를 구분하지 않고 중복 레코드를 찾습니다(GAMS 동작과 일치).
  • 중복 레코드 및 도메인 위반에 대한 테스트를 다음에서 제거했습니다.<Symbol>.isValid()방법.<Symbol>.isValid()데이터의 품질이 아닌 데이터의 구조적 측면을 확인합니다. 이렇게 하면 모든 레코드를 반복하지 않으므로 성능이 향상됩니다.
  • 심볼 생성수정됨메가 슬롯가 변경되었는지 추적하는 플래그입니다. 이 플래그는 설정을 통해 설정/재설정될 수 있습니다.<컨테이너>.modified=True/False.
  • 파이썬 사용을 활성화했습니다in메가 슬롯가 다음과 같은지 테스트하는 연산자구문이 포함된 컨테이너<container_object>의 <symbol_object>또는<container_object>의 <symbol_string_name>, 여기서<symbol_string_name>대소문자를 구분하지 않습니다.
  • 컨테이너는 이제 구독 가능합니다. 즉,m[<symbol_name>]메가 슬롯 개체를 반환합니다. 메가 슬롯 객체는 기본 사전을 통해 계속 액세스할 수 있습니다. 즉,m.data[<symbol_name>].
  • setRecords이제 DataFrame을 전달할 때 사용자가 지정한 범주를 유지합니다.
  • setRecords, getUELs, setUEL, UEL 이름 바꾸기UEL 추가메소드는 이제 UEL에서 후행 공백을 제거합니다.
  • 다음에서 읽는 경우 컨테이너 동작 개선ConstContainer/컨테이너: 메가 슬롯 인수에 전달된 목록읽기(<출처>, 메가 슬롯)더 이상 순서가 지정된 것으로 간주되지 않습니다. 이전에는 별칭이 상위 세트 앞에 나열되면 예외가 발생했습니다.
  • 이름이 지정된 메가 슬롯를 읽으려고 할 때 발생하는 버그 수정모두, 그러나 컨테이너는 모든 메가 슬롯를 읽습니다.
  • 노출됨(이전에는 숨겨짐)ConstContainer메소드getCardinality()그리고getSparsity().
  • 이제 데이터 소스에 존재하지 않는 메가 슬롯를 읽으려고 시도하면 예외가 발생합니다. 이전에는 이러한 메가 슬롯 이름이 자동으로 무시되었습니다.
  • 일부 예외 메시지 및 기타 오류 처리의 명확성이 향상되었습니다.
  • 방해하는 버그 수정dict_keys그리고dict_items(dict 메소드에서 반환.keys()그리고.items(), 각각) 객체가 직접 전달되는 것을 방지합니다.setRecords.
  • 다음을 초래하는 버그 수정이름 오류전화할 때.whereMin()또는.whereMax()변수 또는 방정식.
  • 내에서 새로운 테스트<컨테이너>.isValid()메가 슬롯에서 깨진 컨테이너 참조와 일관되지 않은 메가 슬롯 이름 지정을 감지하는 방법<컨테이너>.datadict 및 메가 슬롯 개체. 이러한 문제는 복사/딥카피 작업을 사용하여 컨테이너에 새 메가 슬롯를 생성할 때 발생할 수 있습니다.
  • 재구성됨ConstContainer읽기 전용 동작을 개선하기 위한 메가 슬롯 클래스.

GAMS 전송 R

  • 해킹: 메가 슬롯 이름 고유성은 이제 대소문자를 구분하지 않고 확인됩니다. 예를 들어,라는 이름의 세 가지 다른 메가 슬롯를 갖는 것은 더 이상 불가능합니다.메가 슬롯, 메가 슬롯메가 슬롯.
  • 중단: 메가 슬롯 레코드와 메가 슬롯 이름은 대소문자를 구분하지 않는 방식으로 처리됩니다. 메가 슬롯 도메인은 자동으로 확인되지 않습니다.
  • 새 클래스 추가ConstContainer효율적인 데이터 전송을 위해.
  • 읽기 허용컨테이너/ConstContainer다른 곳으로컨테이너.
  • 메서드 추가컨테이너$getSymbolNames모든 경우의 메가 슬롯 이름 목록에 대한 원래 메가 슬롯 이름을 반환합니다.
  • 메서드 추가컨테이너$hasSymbols메가 슬롯 이름(대소문자 구분 없음)이 존재하는지 확인합니다.
  • 변경됨컨테이너$getSymbols, 컨테이너$removeSymbols, 컨테이너$renameSymbol, 컨테이너$설명*및 기타컨테이너$getSymbols메가 슬롯 이름은 대소문자를 구분하지 않고 허용합니다.
  • 새 메가 슬롯 방법hasDuplicateRecords, countDuplicateRecords, findDuplicateRecordsdropDuplicateRecords중복 기록으로 인한 오류 디버깅 및 해결을 돕습니다.
  • 새 컨테이너 메소드hasDuplicateRecords, countDuplicateRecordsdropDuplicateRecords메가 슬롯를 무효화시키는 중복 레코드가 포함된 메가 슬롯를 찾는 데 도움이 됩니다.
  • 내에서 새로운 테스트컨테이너$isValid()메가 슬롯에서 깨진 컨테이너 참조와 일관되지 않은 메가 슬롯 이름 지정을 감지하는 방법<컨테이너>$data필드 및 메가 슬롯 개체.
  • 방법isValid인수인 메가 슬롯 레코드 도메인 열, 중복 및 도메인 위반을 확인하지 않습니다.
  • 새 메가 슬롯 방법hasDomainVolations, countDomainViolations, findDomainViolations, dropDomainVolationsgetDomainViolations.
  • 새 컨테이너 메소드hasDomainVolations, countDomainViolationsdropDomainViolations.
  • 다음으로 메가 슬롯 덮어쓰기가 허용됨addSet/addParameter/addVariable/addEquation/addAlias기록과 설명을 제외한 모든 것이 변경되지 않은 경우의 메서드입니다.
  • 추가된 방법특수값$isNA, 특수값$isEps, 특수값$isUndef, 특수값$isPosInf, SpcialValues$isNegInf특수 값을 테스트합니다.
  • 에 대한 인수어디*방법이 다음에서 변경됨.
  • 후행 공백은 이제 UEL에서 자동으로 제거됩니다.setRecords그리고*UEL방법.

GMO

  • QP 추출을 위한 동시 모드를 추가했습니다. 이 모드에서는 독립적인 추출 방법이 병렬 스레드에서 실행됩니다. 첫 번째 방법이 완료되면 추출이 종료됩니다. 이는 행 단위로 수행됩니다. 동시 스레드는 각 행에서 차례로 작업하며 첫 번째 스레드의 결과를 사용하여 해당 행을 완료하고 함께 다음 행으로 이동합니다. 설정gmoQExtractAlg속성을 3으로 설정하면 이 방법을 선택합니다.
  • 새 기능 추가gmoGetQMakerStatsQP 추출에 대한 통계를 얻으려면.
  • 새 기능 추가gmoFillMatchesMCP 모델에 대한 행/열 일치를 완료합니다.
  • 새 기능 추가gmoLoadDataLegacyExto API: 이 함수는 기존 함수와 다릅니다.gmoLoadDataLegacy새 함수에 플래그가 포함되어 있는 함수fillMatches로드 중에 MCP 모델에 대한 일치 정보 완료를 전환합니다.
  • 행동을 변경했습니다gmoLoadDataLegacyMCP에 대한 일치 정보에 대해. 이전에는gmoLoadDataLegacy다음과 같이 행동했습니다gmoLoadDataLegacyEx(fillMatches=true). 이번 릴리스에서는 다음과 같이 작동합니다.gmoLoadDataLegacyEx(fillMatches=false). 이전 동작이 필요한 이 기능의 사용자는 호출로 전환해야 합니다gmoLoadDataLegacyEx(fillMatches=true)또는 전화gmoFillMatches명시적으로.

주피터 노트북

  • Python과 GAMS 간의 데이터 동기화는 이제 전적으로 다음에 의존합니다.GAMS 전송.
  • 환경다른 GAMS 인스턴스 작업을 허용합니다.
  • 대신에gams_push그리고gams_pull다양한 Python 데이터 형식을 사용하면 GAMS 라인과 셀이 GAMS와 Python 간의 메가 슬롯를 자동으로 동기화합니다.
  • GAMS 메가 슬롯는 이제 GAMS 셀이 아닌 Python의 전송 컨테이너에서 선언될 수 있습니다. 다음을 검사해 주세요.마법(Jupyter 노트북)자세한 내용은 마법의 "GAMS Jupyter API 설명"을 참조하세요.
  • GAMS 마법 명령의 이전 버전은 다음에서 계속 사용할 수 있습니다.apifiles/Python/gams/gams_magic_legacy. 이는 다음 주요 버전 중 하나로 제거될 예정입니다.

파이썬

  • 예시 추가transport_gt.py이는 GAMS Python 상위 수준 API를 GAMS 전송 컨테이너와 결합하여 본질적으로 다음을 대체하는 방법을 보여줍니다.GAMS데이터베이스클래스.
  • 추가된 방법run_engineGAMSJob로컬이 아닌 GAMS 엔진에서 작업을 실행하는 클래스입니다.

모델 라이브러리

GAMS 데이터 라이브러리

GAMS 모델 라이브러리

  • 삭제licememo.

GAMS 테스트 라이브러리

FIN 라이브러리

PSOPT 라이브러리

솔버/플랫폼 가용성 매트릭스

x86 64비트
MS 윈도우
x86 64비트
리눅스
x86 64비트
맥OS
ALPHAECP 2.11
안티고네 1.1
바론
CBC 2.10
CONOPT 3
CONOPT 4
COPT 5.0
CPLEX 22.1
데시스
DICOPT 2
구로비 9.5
거스
IPOPT 3.14
최고 1.2
KESTREL
니트로 13.1
린도 14.0
린도글로벌 14.0
마일
MINOS 5.6
모세크 10
NLPEC
옥터랙트 4
ODHCPLEX 6
경로
QUADMINOS 5.6
SBB
SCIP 8.0
샷 1.1
SNOPT 7.7
소플렉스 6.0
익스프레스 40.01

41.2.0 부 릴리스(2022년 11월 14일)

감사의 말씀

문제를 보고하고 이 릴리스 개선을 위한 제안을 해주신 모든 사용자에게 감사드립니다. 특히 볼프강 브리츠(Wolfgang Britz)에게 감사드립니다.

GAMS 시스템

GAMS

API

GAMS 전송 Python

  • 부분 쓰기 활성화됨컨테이너GDX로write_symbols인수.
  • 변경됨Container.write()인수write_symbols메가 슬롯MATlab 및 R 버전의 GAMS Transfer와 더 잘 조화됩니다.
  • 버그 수정같음비교 시 메가 슬롯 방법UniverseAliases.

주피터 노트북

  • 버그 수정%gams공백 앞에 대시가 포함된 코드가 제대로 실행되지 않도록 하는 라인 매직입니다.

41.3.0 부 릴리스(2022년 11월 28일)

감사의 말씀

문제를 보고하고 이 릴리스 개선을 위한 제안을 해주신 모든 사용자에게 감사드립니다. 특히 Mart Saluri님께 감사드립니다.

GAMS 시스템

GAMS

  • 명령줄 매개변수 사용 시 성능 개선GDX라벨이 많은 프로그램의 경우.
  • 다음과 함께 플랫폼별 라이센스를 사용하여 잠재적인 문제를 수정했습니다.p라이센스매개변수.

해결사

COPT

  • 해당 옵션을 수정했습니다AbsGap사용할 수 없습니다.

린도/린도글로벌

  • 새 라이브러리 14.0.191.

도구

GAMS 스튜디오

  • 일부 버그 수정 및 사소한 개선이 포함된 새 버전 1.12.2, 예:
    • 후행 지원 추가:NUMBER네비게이터에서 파일을 선택할 때.
    • 텍스트 파일에서 줄을 이동할 때 발생하는 충돌 문제를 해결했습니다.
    • 잘못된 GDX 파일을 다시 로드할 때 발생하는 충돌을 수정했습니다.

API

GMO

  • 고정 기능gmoNameInput: 이전 제어 파일을 읽는 경우 결과 문자열이 초기화되지 않았습니다.

41.4.0 부 릴리스(2022년 12월 14일)

감사의 말씀

문제를 보고하고 이 릴리스 개선을 위한 제안을 해주신 모든 사용자에게 감사드립니다.

해결사

거스

  • 시나리오 데이터가 희박할 때 원치 않는 시나리오 건너뛰기를 유발할 수 있는 버그를 수정했습니다.

모섹

  • 새 라이브러리 10.0.31.

SCIP 최적화 제품군

  • 새 라이브러리 SCIP 8.0.3.
  • 새로운 라이브러리 SoPlex 6.0.3.
  • 새로운 라이브러리 PaPILO 2.1.2.

도구

GAMS 스튜디오

  • 일부 버그 수정 및 사소한 개선 사항이 포함된 새 버전 1.12.3, 예:
    • 추가됨x접두사네비게이터빠른 작업에 액세스합니다.
    • 통합네비게이터입력 필드를 다른 검색 필드와 함께 사용하고 정규식 및 완전 일치 수정자를 추가합니다.
    • 다음 동작 수정후행 0 표시체크박스 입력GDX 뷰어사용 시g-형식또는전자 형식전체정밀함.
    • 일부 Linux 배포판에서 도움말 보기가 비어 있는 문제를 수정했습니다.

API

GAMS 전송 Python

  • 수정됨setRecords후행 공백만 다른 라벨의 경우 예외가 발생합니다.
  • 단일 항목으로 여러 소스에서 데이터를 읽을 때 버그를 수정했습니다.컨테이너인스턴스.
  • 메가 슬롯 목록이 있는 GDX 파일을 작성할 때 버그를 수정했습니다.
  • 첫 번째 메가 슬롯가 있을 때 쓰기를 방해하는 버그를 수정했습니다.컨테이너UniverseAlias.

주피터 노트북

  • GAMS 매직에서 GAMS 전송 컨테이너의 부분적인 GDX 쓰기를 활용합니다. 새롭거나 수정된 ​​메가 슬롯만 GDX에 기록됩니다. 이를 통해 Python과 GAMS 간의 데이터 교환 성능이 향상됩니다.

41.5.0 부 릴리스(2023년 1월 3일)

감사의 말씀

문제를 보고하고 이 릴리스 개선을 위한 제안을 해주신 모든 사용자에게 감사드립니다.

해결사

변환

  • 외부 기능을 사용할 때 오류 메시지가 잘못 표시되는 문제를 수정했습니다(파일이 올바르게 기록되었습니다).

거스

  • MCP 모델 및 시나리오 데이터로서의 변수 수정 문제를 수정했습니다.

모세크

  • 새 라이브러리 10.0.33.

API

gams2numpy

  • 메모리 누수 문제를 해결했습니다.gdxWriteSymbol[Raw|Str]그리고gmdFillSymbol[Raw|Str].
  • 라벨이나 요소 텍스트를 가리키지 않는 uel 및 문자열 번호 관련 문제를 수정했습니다.
  • GDX/GMD 문자열을 Python 문자열로 변환하는 성능을 향상시킵니다.
  • 메소드에 대한 선택적 인코딩 문자열 지정 허용[gdx|gmd]GetUelList그리고[gdx|gmd]ReadSymbol[Raw|Str].