scensol4.gms : 기본 GUSS 테스트

설명

기고자: Michael Bussieck, 2014년 2월

소형 모델 유형 :무료 슬롯 게임


카테고리 : 무료 슬롯 게임 테스트 라이브러리


메인 파일 : scensol4.gms

$title '기본 GUSS 테스트' (SCENSOL4,SEQ=642)

$onText
기고자: Michael Bussieck, 2014년 2월
$offText

세트
     i 통조림 공장 / 시애틀, 샌디에고 /
     j 마켓 / 뉴욕, 시카고, 토피카 / ;

매개변수

     a(i) 경우에 따라 공장 i의 생산 능력
       /시애틀 350
            샌디에이고 600 /

     b(j) 다음과 같은 경우 시장 j의 수요
       / 뉴욕 325
            시카고 300
            토피카 275 / ;

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

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

매개변수 c(i,j) 운송 비용(케이스당 수천 달러) ;

         c(i,j) = f * d(i,j) / 1000 ;

변수
     x(i,j) 케이스의 배송 수량
     z 총 운송 비용(단위: 수천 달러);

양수 변수 x ;

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

비용 .. z =e= sum((i,j), f * d(i,j) / 1000 *x(i,j)) ;

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

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

방정식 e 더미 n 행;  즉.. sum((i,j), x(i,j)) =n= 3;

모델 전송 /all/ ;

* DICT 세트는 3차원으로 구성됩니다.
* 1 모델 기호
* 2 액션 유형
* 3 업데이트 매개변수
* DICT는 데이터 문으로 지정되어야 합니다.

dict / s.scenario 를 설정하세요. ''
             오.   .srep 선택
             디.   매개변수 .ds
             가.   매개변수 .as
             x.   상위 .xup
             에프.   매개변수 .fs
             비용.한계.x비용
             x.   레벨 .xx /

* 문제:
* 1 QCP는 작동하지 않으며 MCP, MPECS도 작동하지 않습니다.

s /s1*s10/을 설정합니다;

매개변수
    d용 ds(s,i,j) 업데이트 프로그램
    as(s,i) 업데이트 프로그램
    x.up용 xup(s,i,j) 업데이트 프로그램
    f에 대한 fs(s) 업데이트 프로그램
    한계 비용에 대한 xcost(s) 수집기
    xx(s,i,j) x 레벨에 대한 수집기

$eolCom //
ma GUSS 모델 속성 설정 / system.GUSSModelAttributes /;
매개변수
    o(*) GUSS 옵션
       / OptfileInit 0 // 초기 해석을 위한 해석기 옵션 읽기
         Optfile 0 // 연속적인 해결을 위한 솔버 옵션 읽기
         LogOption 0 // 0 - 보통 로그(기본값)
                          // 1 - 최소 로그
                          // 2 - 상세 로그
         SkipBaseCase 1 // 기본 사례를 해결하기 위한 스위치
         UpdateType 0 // 시나리오 업데이트 메커니즘:
                          // 0 - 모든 것을 0으로 설정하고 변경 사항을 적용합니다.
                          // 1 - 기본 사례를 재설정하고 변경 사항을 적용합니다.
                          // 2 - 마지막 시나리오를 기반으로 빌드하고 변경 사항을 적용합니다.
       /
    srep(s,ma) 솔루션 속성 / #s.(ModelStat na) /;

ds(s,i,j) = max(0,uniform(-5,2)) + eps;
as(s,i) = a(i)*(1+normal(0.05,0.1));
xup(s,i,j) = 균일(120,300);
fs(s) = 균일(80,100);

* 거스 실행
z 시나리오 dict를 최소화하는 lp를 사용하여 전송을 해결합니다.

디스플레이 담당자;