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리더,PandasExcelReader및PandasSQLReader이제 완화된 도메인 정보를 읽습니다. - 그
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, lseMin및lseMinSc.
- 새로운 달러 제어 옵션 추가$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.
변환
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 및 원뿔 모델의 고급 선형화.
- 비선형 솔버 개선:
- 이 클래스에 대한 분수 선형 프로그램 및 알고리즘 개선 인식.
- 전역 솔버 개선:
- 성능 향상을 위해 초공간에서 최적화할 보조 변수를 도입합니다.
- 가능한 차선책에 대한 경고 메시지가 개선되었습니다.
- 바운드 강화 프로세스가 개선되었습니다.
- LP 솔버 개선:
- 새로운 내장 함수에 대한 지원 추가lseMax.
모세크
- 새 라이브러리 10.0.25.
- 원뿔 문제에 대한 사전 해결이 개선되었습니다.
- 대형 LP 및 최신 AMD CPU에서 실행 시 인테리어 포인트 최적화 성능이 향상되었습니다.
- 향상된 절단면 분리 및 혼합 정수 프로그램에 대한 사전 해결.
- 옵션 기본값MSK_IPAR_MIO_CUT_IMPLIED_BOUND꺼짐에서 켜짐으로 변경되었습니다.
- 새로운 옵션MSK_IPAR_MIO_CUT_LIPRO리프트 앤 프로젝트 컷을 활성화합니다.
- 새로운 옵션MSK_IPAR_MIO_PRESOLVE_AGGREGATOR_USE집계기 사용을 제어합니다.
- 대칭 탐지 및 혼합 정수 프로그램 활용이 추가되었습니다. 새로운 옵션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.
- 추가 옵션 변경 사항:
- 새로운 옵션MSK_DPAR_PRESOLVE_TOL_PRIMAL_INFEAS_PERTURBATIONMosek이 실행 불가능성을 피하기 위해 사전 해결에서 문제를 교란할 수 있는 양을 지정합니다.
- 제거된 옵션
MSK_IPAR_INTPNT_MULTI_THREAD. - 에서 보통 및 공격적인 확장 옵션을 제거했습니다.MSK_IPAR_INTPNT_SCALING그리고MSK_IPAR_SIM_SCALING.
- 새로운 옵션MSK_IPAR_MIO_DATA_PERMUTATION_METHOD혼합 정수 문제의 순열을 활성화합니다.
- 새로운 옵션MSK_IPAR_WRITE_JSON_INDENTATIONjson 파일을 들여쓰기로 작성할지 여부를 제어합니다.
- 제거된 옵션
MSK_IPAR_WRITE_LP_QUOTED_NAMES,MSK_IPAR_WRITE_LP_STRICT_FORMAT,MSK_IPAR_WRITE_LP_TERMS_PER_LINE및MSK_IPAR_WRITE_PRECISION.
옥터랙트
- 새 라이브러리 4.5.1.
ODHCPLEX
SCIP
- 새 라이브러리 8.0.2.
XA
- 다음과 같이발표됨, XA를 삭제했습니다.
익스프레스
- 새 라이브러리 40.01.03.
도구
GAMS 스튜디오
- 새 버전 1.12.1.
- 새로운 기능: 네비게이터 (
Ctrl+k)- 참고: 이 기능은 현재 베타 버전이며 아직 마우스를 지원하지 않습니다!
- 검색어를 입력하여 파일을 필터링하세요. 와일드카드도 지원됩니다(예:
*.gms). - 누르세요
입력선택한 파일로 이동합니다. - 유형
?사용 가능한 모든 접두어에 대한 도움말을 표시합니다. - 그
이동- 그리고탭브라우저-대화상자는 이제 더 이상 사용되지 않으며 향후 제거될 예정입니다.
- GDX 뷰어 개선:
- 새로운 기능: 내보내기 대화 상자의 첫 번째 버전이 추가되었으며 현재는 Excel 출력만 지원합니다.
- 새로운 기능: 빠른 선택 추가됨GDX 뷰어 필터.
- 자동 크기 조정 동작이 개선되었습니다.
- 특히 테마가 변경되었을 때 메가 슬롯 테이블 색상이 개선되었습니다.
- 검색 및 바꾸기 개선 사항:
- 다음에서 일치하는 항목에 강조 표시를 추가했습니다.
검색결과 보기. - 정규 표현식에 대한 캡처 그룹 지원을 추가했습니다.
검색 대화상자.
- 다음에서 일치하는 항목에 강조 표시를 추가했습니다.
- MIRO 배포 대화상자 및 EFI 편집기에 필터를 추가했습니다.
- 프로젝트 탐색기에서 Pin-View로 직접 열 수 있는 기능 추가 by
Ctrl+더블클릭(수평 핀의 경우) 또는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,findDuplicateRecords및dropDuplicateRecords중복 기록으로 인한 오류 디버깅 및 해결을 돕습니다. - 새 컨테이너 메소드
hasDuplicateRecords,countDuplicateRecords및dropDuplicateRecords메가 슬롯를 무효화시키는 중복 레코드가 포함된 메가 슬롯를 찾는 데 도움이 됩니다. - 내에서 새로운 테스트
컨테이너$isValid()메가 슬롯에서 깨진 컨테이너 참조와 일관되지 않은 메가 슬롯 이름 지정을 감지하는 방법<컨테이너>$data필드 및 메가 슬롯 개체. - 방법
isValid인수인 메가 슬롯 레코드 도메인 열, 중복 및 도메인 위반을 확인하지 않습니다. - 새 메가 슬롯 방법
hasDomainVolations,countDomainViolations,findDomainViolations,dropDomainVolations및getDomainViolations. - 새 컨테이너 메소드
hasDomainVolations,countDomainViolations및dropDomainViolations. - 다음으로 메가 슬롯 덮어쓰기가 허용됨
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_engine에GAMSJob로컬이 아닌 GAMS 엔진에서 작업을 실행하는 클래스입니다.
모델 라이브러리
GAMS 데이터 라이브러리
GAMS 모델 라이브러리
- 삭제
licememo.
GAMS 테스트 라이브러리
- 추가됨fnlse.gms : LSE 최대/최소 내장 함수에 대한 대략적인 정확성 테스트.
- 추가됨fnlsemax.gms : LSEMax 내장의 정확성 테스트.
- 추가됨fnlsemaxsc.gms : LSEMaxSc 내장의 정확성 테스트.
- 추가됨fnlsemin.gms : LSEMin 내장의 정확성 테스트.
- 추가됨fnlseminsc.gms : LSEMinSc 내장의 정확성 테스트.
- 추가됨fnlseslv.gms : LSEMax 내장 함수에 대한 대략적인 솔버 정확성 테스트.
- 추가됨caconcat.gms : 테스트 연결 에이전트 연결.
- 추가됨suffix02.gms : CLP suffixAlgebraVars 테스트.
FIN 라이브러리
PSOPT 라이브러리
- 수정됨DED : 동적 경제 부하 파견.
- 수정됨DED-PB : 가격 기반 동적 경제 부하 파견.
- 수정됨DED-wind : 풍력 발전을 고려한 동적 경제 부하 파견.
- 수정됨DEDESS : 에너지 저장과 통합된 비용 기반 동적 경제 파견.
- 수정됨DEDESSwind : 에너지 저장 및 풍력과 통합된 비용 기반 동적 경제 파견.
- 수정됨ESSDCOPFwind : 에너지 저장 및 풍력과 통합된 DC-OPF.
- 수정됨Multi periodDCOPF24bus : 풍력 및 부하 차단을 고려한 IEEE 24 버스 네트워크용 다중 기간 DC-OPF.
- 수정됨PBUC : 가격 기반 단위 약정.
솔버/플랫폼 가용성 매트릭스
| 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
- 달러 제어 옵션 개선$abort[.noError], $오류및$log, 선택 인수로 제공된 텍스트가 더 이상 255자로 제한되지 않습니다.
- 잠재적으로 잘못된 생성 문제 수정덤프 파일와dumpOptGDX.
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
해결사
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, 예:
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].