MPS2GMS

슬롯 나라 또는 LP 파일을 GDX 파일을 사용하여 데이터를 저장하는 짧은 일반 GAMS 및 GAMSPy 프로그램으로 변환합니다. 다양한 솔버 관련 확장이 인식됩니다. DEC 파일이 제공되면 분해 정보도 GDX 파일에 저장할 수 있습니다(단계속성).

슬롯 나라 파일은 먼저 자유 형식(이름에 공백 없음)으로 읽으려고 시도됩니다. 행 또는 열 이름에 공백이 있지만 최대 8자인 것으로 보이면 고정 형식으로 구문 분석을 시도합니다. HiGHS 솔버의 슬롯 나라 및 LP 리더가 활용됩니다. GAMS 데이터 교환(GDX) 파일과 일치하는 GAMS 및 GAMSPy 소스가 기록됩니다.

참고:

  • 행, 열, SOS(특별 주문 세트) 및 원뿔 이름은 최대 63자까지 가능하며 이러한 이름은 GAMS 세트 구성원이 되므로 대소문자 구분 및 고유성이 테스트슬롯 나라. 테스트가 실패하면 도구는 이름 수정을 시도합니다. 255자를 넘지 않는 경우 원래 이름은 옵션을 활성화하여 i(열용), j(행용) 및 s(SOS용) 세트 요소의 설명 텍스트에 저장할 수 있습니다.ORIGNAMES.
  • 슬롯 나라 파일에는 여러 개의 N 행이 포함될 수 있습니다. 첫 번째 것은 목적 함수로 사용되고 나머지는 무시됩니다.
  • 슬롯 나라 파일에 최적화 방향이 지정되지 않으면 최소화가 가정됩니다.
  • SOS의 변수는 연속적이어야 합니다.
  • SOS는 중복되어서는 안슬롯 나라. 변수는 동일한 SOS에 여러 번 나타날 수 없습니다.

슬롯 나라 및 LP 형식은 여러 솔버 공급업체에 의해 다양한 형식으로 확장되었습니다. MPS2GMS는 모든 확장 프로그램을 지원하지 않습니다.

다음 슬롯 나라 섹션은 자유 형식 파서에서 인식됩니다:

  • 이름
  • OBJSENSE, 최대, 최소
  • RHS
  • 경계
  • 범위
  • QUADOBJ, QMATRIX
  • QSECTION, QCMATRIX
  • 원뿔 유형 QUAD 및 RQUAD가 있는 CSECTION
  • 세트, SOS
  • ENDDATA

고정 형식 파서는 QMATRIX, QSECTION, QCMATRIX, CSECTION, SETS 및 SOS를 제외한 이러한 섹션도 인식합니다.

슬롯 나라 형식에 대한 설명은 다음도 참조하세요.

다음 LP 형식 기능이 인식슬롯 나라:

  • 댓글
  • 단일 목적 함수: 선형 또는 2차만
  • 제약조건(대상섹션): 선형 또는 2차만 해당
  • 변수 경계 및 유형(경계, 바이너리, 장군, 세미스섹션); 반정수 변수를 지정하려면 섹션에 나타나야 합니다.장군그리고세미스
  • 특별 주문 세트 (SOS섹션)

LP 형식에 대한 설명은 다음도 참조하세요.

문제의 분해는 다음에서 지정될 수 있습니다.GCG의 DEC 형식. 예를 들어, 표준 형식 선형 프로그램의 경우 해당 블록 구조는 다음 형식을 갖습니다.

\beginalign

DEC 파일에서는 제약조건이나 변수가 블록에 할당슬롯 나라. 제약 조건과 변수에 대한 분해 정보 혼합은 지원되지 않습니다. 섹션NBLOCKS일반 블록 수\(N\)를 지정합니다.

제약조건을 통해 분해를 지정할 때 제약조건 (2) ~ (4)는 다음을 통해 블록 \(0, \ldots, N-1\)에 할당슬롯 나라.차단, 블록콘또는BLOCKCONSS섹션. 제약 조건(5)은 다음 목록에 나열될 수 있습니다.MASTERCONSS섹션이며 MPS2GMS에 의해 블록 라벨 \(N\)이 지정슬롯 나라. DEC 파일에 나열되지 않은 모든 제약 조건은 \(N\)에도 할당슬롯 나라. 제약 조건을 통해 분해를 지정하는 DEC 파일에서는 (1)에 할당하는 것이 불가능합니다. 제약 조건에 대해 할당된 레이블 \(0, \ldots, N\)에서 MPS2GMS는 행렬 \(W_0,\ldots,W_N-1\)이 가능한 한 많은 열을 갖도록 변수에 레이블을 할당합니다. 블록 \(k\in\0,\ldots,N-1\\)의 제약 조건에만 나타나고 (5)에서 가능한 모든 변수는 블록 \(k\)에 할당슬롯 나라. 다른 모든 변수(즉, 최소 두 개의 서로 다른 블록 \(0,\ldots,N-1\)의 제약 조건에 나타나거나 (5)에만 나타나거나 제약 조건 없이 나타나는 변수)에는 \(-1\)이라는 라벨이 지정슬롯 나라.

변수를 통해 분해를 지정할 때 변수는 \(x_0,\ldots,x_N-1\), 즉 블록 \(0,\ldots,N-1\)에 할당슬롯 나라.BLOCKVARSDEC 파일의 섹션. 섹션에 나열된 변수MASTERVARS, MASTERVAR, LINKINGVARS또는LINKINGVAR블록 라벨 \(-1\)이 지정슬롯 나라. DEC 파일에 나열되지 않은 모든 변수는 \(-1\)에도 할당슬롯 나라. MPS2GMS는 변수에 할당된 레이블 \(-1, \ldots, N-1\)에서 행렬 \(T_-1, W_0,\ldots,W_N-1\)이 가능한 많은 행을 갖도록 제약 조건에 레이블을 할당합니다. 레이블 \(-1\)( \(x_-1\))이 있는 변수만 사용하거나 변수가 없는 모든 제약 조건에는 레이블 \(-1\)이 지정슬롯 나라. 한 블록 \(k\in\0,\ldots,N-1\\) 및 가능한 라벨 \(-1\)의 변수를 사용하는 모든 제약 조건은 블록 \(k\)에 할당슬롯 나라. 다른 제약 조건(즉, 최소 두 개의 서로 다른 블록 \(0,\ldots,N-1\)의 변수 사용)에는 \(N\)이라는 라벨이 지정슬롯 나라.

목적 함수를 정의하는 변수는 \(-1\) 블록에 할당되었습니다. 목적 함수를 정의하는 제약 조건은 블록 \(N\)에 할당슬롯 나라.

설명된 라벨링 체계는 논리적으로 2차 제약 조건, SOS 및 이산 변수로 일반화슬롯 나라. DEC 섹션CONSDEFAULTMASTER그리고미리 해결됨무시슬롯 나라. SOS와 관련하여 블록 할당은 매개변수의 GDX 파일에 기록슬롯 나라.단계, 그러나 GAMS 및 GAMSPy 프로그램은 이를 선택하지 않습니다(GAMS에는 없습니다단계SOS용 속성).

GAMS 단계 정보 사용자는 종종 단계 1, 2, ...을 기대하므로 모든 블록 레이블에 2의 이동이 적용슬롯 나라. 매개변수도 참조하세요.스테이지시프트. 이렇게 하면 변수 연결이 1단계가 슬롯 나라.

사용법

mps2gms 슬롯 나라파일 | lpfile [ gdxfile [ gmsfile ] ]  키=값

첫 번째 매개변수가 키=값 형식이 아니고 다음으로 끝나는 경우.lp또는.lp.gz인 경우 LP 파일 이름으로 간주되고, 그렇지 않으면 슬롯 나라 파일 이름으로 간주됩니다. GDX 파일 이름이 지정되지 않으면 슬롯 나라 또는 LP 파일 이름이 사용됩니다..슬롯 나라/.lp(또는.슬롯 나라gz/.lp.gz) 확장자는 다음으로 대체됨.gdx또는.gdx추가되었습니다. GMS 파일 이름이 지정되지 않고 GMS 옵션이 설정되지 않은 경우 GDX 파일 이름이 사용슬롯 나라..gdx확장자는 다음으로 대체됨.gms또는.gms추가되었습니다. PY 옵션이 설정되지 않은 경우 GDX 파일 이름이 사용슬롯 나라..gdx확장자는 다음으로 대체됨.py, 또는.py추가되었습니다.

매개변수 안내:

열쇠설명
슬롯 나라 슬롯 나라 입력 파일 이름, GZIP으로 압축 가능
LP LP 입력 파일 이름, GZIP으로 압축 가능
12월 DEC 입력 파일 이름, GZIP으로 압축 가능
GDX GDX 출력 파일 이름
GMS GAMS 프로그램 출력 파일의 이름. 명시적으로 비어 있도록 설정된 경우(GMS=), 그러면 GAMS 프로그램이 작성되지 않습니다.
PY GAMSPy 프로그램 출력 파일의 이름. 명시적으로 비어 있도록 설정된 경우(PY=), 그러면 GAMSPy 프로그램이 작성되지 않습니다.
CEQUATIONS 2차 원뿔을 쓸지 여부CSECTION섹션이 더 이상 사용되지 않음=씨=방정식. 이 옵션은 더 이상 사용되지 않습니다.
가능한 값: 0, N, 1, Y.
기본값: 0
COLUMNINTVARSAREBINARY 다음에 처음 나타나는 정수 변수 여부섹션은 바이너리 변수로 가정되어야 합니다.
가능한 값: 0, N, 1, Y.
기본값: 0.
최신 솔버는 이진 변수를 가정하지만 이전 버전과의 호환성을 위해 기본값은 원래 IBM 해석으로 설정슬롯 나라.
중복 LP 파일의 동일한 변수 또는 제품에 대한 여러 계수를 확인해야 하는지 및 처리하는 방법입니다.
NOCHECK로 설정하면 여러 계수에 대한 확인이 수행되지 않습니다. 이 경우 GDX 파일 쓰기가 실패할 수 있습니다. 성능상의 이유로 이것이 기본값입니다.
ADD로 설정하면 계수가 합산슬롯 나라.
IGNORE로 설정하면 추가 계수가 무시되고 로그에 경고가 인쇄슬롯 나라.
ERROR로 설정되면 경고가 로그에 인쇄되고 MPS2GMS는 0이 아닌 반환 코드로 종료슬롯 나라.
ORIGNAMES 열, 행 및 SOS의 원래 이름을 각각 세트 i, j 및 s의 요소 텍스트에서 사용할 수 있도록 할지 여부.
NO(기본값)로 설정하면 원래 이름은 요소 텍스트에 저장되지 않습니다.
수정됨으로 설정되면 이름이 변경된 경우 원래 이름이 저장슬롯 나라.
ALL로 설정하면 모든 열, 행 및 SOS에 대한 원래 이름이 저장슬롯 나라.
스테이지시프트 단계 정보를 쓸 때 블록 번호에 추가하기 위한 정수 이동입니다.
기본값: 2
변환센스 최소화(Y, 1, MIN) 또는 최대화(-1, MAX)를 보장하기 위해 목적 함수를 변환할지 아니면 입력의 객관적 의미(0, N)를 유지할지 여부. 가능한 값: 0, N, 1, Y, MIN, -1, MAX. 기본값: 0