blend.gms : 블렌딩 문제 I

설명

한 회사가 최소한의 비용으로 납-아연-주석 합금을 생산하고자 합니다.
문제는 구입한 다른 합금에서 새로운 합금을 혼합하는 것입니다.

소형 모델 유형 :LP


카테고리 : 슬롯 게임 모델 라이브러리


메인 파일 : blend.gms

$title 혼합 문제 I(BLEND,SEQ=2)

$onText
한 회사는 최소 비용으로 납-아연-주석 합금을 생산하고자 합니다.
문제는 구입한 다른 합금에서 새로운 합금을 혼합하는 것입니다.

Dantzig, GB, 3.4장. 선형 프로그래밍 및 확장.
프린스턴 대학 출판부, 뉴저지주 프린스턴, 1963년.

키워드: 선형 프로그래밍, 혼합 문제, 제조, 합금 혼합
$offText

세트
   합금 '시중에 판매되는 제품' / a*i /
   elem '필수 원소' / 납, 아연, 주석 /;

테이블 compdat(*,alloy) '구성 데이터(% 및 가격)'
            a b c d e f g h i
   리드 10 10 40 60 30 30 30 50 20
   아연 10 30 50 30 30 40 20 40 30
   주석 80 60 10 10 40 30 50 10 50
   가격 4.1 4.3 5.8 6.0 7.6 7.5 7.3 6.9 7.3;

매개변수
   rb(elem) '필수 혼합' / 납 30, 아연 30, 주석 40 /
   ce(alloy) '구성 오류(pct-100)';

ce(합금) = sum(요소, compdat(요소,합금)) - 100;
CE를 표시;

변수
   v(alloy) '합금 구매(파운드)'
   파이 '총 비용';

양수 변수 v;

방정식
   pc(elem) '구매 제약'
   mb '물질 균형'
   ac '회계: 총 비용';

pc(요소).. sum(합금, compdat(요소,합금)*v(합금)) =e= rb(요소);

mb.. sum(합금, v(합금)) =e= 1;

ac..phi =e= sum(합금, compdat("가격",합금)*v(합금));

모델
   b1 'mb가 없는 문제' / pc, ac /
   b2 'mb 문제' / pc, mb, ac /;

매개변수 보고서(합금,*) '모델 1과 2의 비교';

lp를 사용하여 phi를 최소화하는 b1을 해결합니다.
report(alloy,"blend-1") = v.l(합금);

lp를 사용하여 phi를 최소화하는 b2를 해결합니다.
report(alloy,"blend-2") = v.l(합금);

보고서 표시;