설명
한 회사가 최소한의 비용으로 납-아연-주석 합금을 생산하고자 합니다. 문제는 구입한 다른 합금에서 새로운 합금을 혼합하는 것입니다.
소형 모델 유형 :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(합금);
보고서 표시;