EngineSolve.gms : 해결 문만 엔진에 제출하는 방법 시연

설명

이 모델은 잘 알려진 운송 문제를 구현하고 제출합니다.
슬롯 나라 엔진에 대한 모델 생성 및 솔루션. 그러기 위해서
슬롯 나라는 해결 직전에 작업 파일을 내보내고 다음을 통해 실행합니다.
임베디드 코드 Python Python을 사용하는 엔진의 해결 문
run_engine 메소드를 사용하여 API를 제어합니다. 결과는 한 번에 다시 나타납니다.
GDX 포인트 파일을 사용하고 솔루션을 슬롯 나라로 다시 가져옵니다. 는
모델 속성(예: Transport.modelStat 및
Transport.solveStat는 명시적으로 전송되어야 합니다.

슬롯 나라를 사용한 비동기식 해결의 독립성을 확인하기 위해
특정 모델 및 데이터의 엔진, 제출할 논리 및
모델 수집이 batInlude 파일인engine_solve.gms로 이동되었습니다.

기고자: Michael Bussieck, 2023년 11월

  모델이 제대로 작동하려면 환경 변수가 설정되어 있어야 합니다.
  ENGINE_URL, ENGINE_USER, ENGINE_PASSWORD ENGINE_NAMESPACE

카테고리 : 슬롯 나라 데이터 유틸리티 라이브러리


메인 파일 : EngineSolve.gms 포함: EngineSolve.gms engine_solve.gms

$title 엔진에 해결 문만 제출하는 방법을 보여줍니다. (ENGINESOLVE,SEQ=149)

$onText
이 모델은 잘 알려진 전송 문제를 구현하고 제출합니다.
슬롯 나라 엔진에 대한 모델 생성 및 솔루션. 그러기 위해서
슬롯 나라는 해결 직전에 작업 파일을 내보내고 다음을 통해 실행합니다.
임베디드 코드 Python Python을 사용하는 엔진의 해결 문
run_engine 메소드를 사용하여 API를 제어합니다. 결과는 한 번에 다시 나타납니다.
GDX 포인트 파일을 사용하고 솔루션을 슬롯 나라로 다시 가져옵니다. 는
모델 속성(예: Transport.modelStat 및
Transport.solveStat는 명시적으로 전송되어야 합니다.

슬롯 나라를 사용한 비동기식 해결의 독립성을 확인하기 위해
특정 모델 및 데이터의 엔진, 제출할 논리 및
모델 수집이 batInlude 파일인engine_solve.gms로 이동되었습니다.

기고자: Michael Bussieck, 2023년 11월
$offText

* 모델이 제대로 작동하려면 환경 변수가 설정되어 있어야 합니다.
* ENGINE_URL, ENGINE_USER, ENGINE_PASSWORD ENGINE_NAMESPACE
$if not setEnv ENGINE_URL $abort.noError 슬롯 나라 엔진의 환경 변수가 설정되지 않았습니다.

세트
   i '통조림 식물' / 시애틀, 샌디에이고 /
   j 'markets' / 뉴욕, 시카고, 토피카 /;

매개변수
   a(i) '경우에 따라 식물 i의 용량'
        /시애틀 350
          샌디에이고 600 /

   b(j) '경우에 따라 시장 j의 수요'
        / 뉴욕 325
          시카고 300
          토피카 275 /;

테이블 d(i,j) '거리(천 마일)'
              뉴욕 시카고 토피카
   시애틀 2.5 1.7 1.8
   샌디에고 2.5 1.8 1.4;

스칼라 f '1,000마일당 케이스당 운임(달러)' / 90 /;

매개변수 c(i,j) '케이스당 운송 비용(단위: 수천 달러)';
c(i,j) = f*d(i,j)/1000;

변수
   x(i,j) '케이스의 선적 수량'
   z '총 운송 비용(천 달러)';

양수 변수 x;

방정식
   비용 '목적 함수 정의'
   Supply(i) '공장 i의 공급 제한을 준수합니다.'
   수요(j) '시장 j의 수요를 충족';

비용.. z =e= sum((i,j), c(i,j)*x(i,j));

공급(i).. sum(j, x(i,j)) =l= a(i);

수요(j)..sum(i, x(i,j)) =g= b(j);

모델 운송 / 모두 /;

$batIncludeengine_solve lp를 사용하여 z를 최소화하는 전송

$onImplicitAssign
Transport.modelStat, Transport.solveStat, Transport.nodUsd, x.l, z.l을 표시합니다.