model: 9 V2 B5 U1 {7 Z+ }8 Q: v7 y0 Asets: % v! A2 X4 D4 O& P* Clevel/1..5/:p,z,goal; % d- _5 p9 }" a1 A3 t& W5 s ~
variable/1..3/:x; : V. |9 K5 s( F! ps_con_num/1..8/:g,dplus,dminus; ' l' _+ |1 R4 D ~% ]s_con(s_con_num,variable):c; 4 c2 a1 L% Q" s5 J* C4 e- P- k
obj(level,s_con_num)/1 1,2 2,2 3,2 4,3 8,4 5,4 6,4 7,5 1/:wplus,wminus; , l' S0 O5 x* a4 ^+ H
endsets $ S/ L k S5 S" ^; E- Fdata: " G1 j( Q: d$ w$ O; B
ctr=?; ! p0 b& J D$ x9 M- l# c
goal=? ? ? ? 0; " [5 i$ M" u. U8 f) o& Q% T
g=1700 50 50 80 100 120 100 1900; # ~& a; u6 E' e5 T# q: K% _) L7 b
c=5 8 12 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 5 8 12; ! \1 {4 |* q {; a9 n7 F
wplus=0 0 0 0 1 0 0 0 1; 8 \+ i+ w9 Z+ b7 o% s' c) |4 o
wminus=1 20 18 21 0 20 18 21 0; . U$ E2 J4 O1 j( V S
enddata + [! U' ~2 T& b1 O
min=@sum(level:p*z); ) {8 W6 u" K7 V& n" op(ctr)=1; 7 }, n" Y/ A' K* _' c S8 D@for(level(i)|i#ne#ctr:p(i)=0); , e: N( N; e+ b; S ~& {) a
@for(level(i):z(i)=@sum(obj(i,j):wplus(i,j)*dplus(j)+wminus(i,j)* dminus(j))); @for(s_con_num(i)sum(variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i)); ' z- ?7 @' `4 c4 y
@for(level(i)|i #lt# @size(level)bnd(0,z(i),goal)); 3 Z% f/ v. U( r1 h' `End 7 {5 G% k/ [ k, F1 G$ k
/ \. C/ T& X- q* o7 D. c5 H 0 l7 {( Q3 H! W' X l* r: V& `. F! E' L; |6 n8 [6 s4 U! X" N9 A! U
例7 运费最小的调配方案 . h' I# g- \ [9 e# e/ |+ ?( w# ]7 l已知三个工厂生产的产品供应给四个客户,各工厂生产量、用户需求量及从 各工厂到用户的单位产品的运输费用如下表所示,其中总生产量小于总需求量。 4 C7 y/ h8 `& |8 l! R# x" B " A; k. y' ^3 c, j9 t7 a/ @' ~. P. r- B1 S9 ^# c. m
h6 q0 ?2 r. P1 E s! |/ G(1)求总运费最小的运输问题的调度方案。 - \: Y' I8 ^3 h; \9 L- I& q& J5 Z * \* I$ E3 ]2 R* B( z(2)上级部门经研究后,制定了调配方案的8项指标,并规定了重要性的次序。+ P0 @) n! g: \1 J& W( r
, W& @# I. f0 N& s9 @$ W第一目标:用户4为重要部门,需求量必须全部满足; 8 a# A3 t8 _) j" z) u1 \" `5 V$ S4 F b' t3 `1 ~' V6 G* P
第二目标:供应用户1的产品中,工厂3的产品不少于100个单位;* z" g, _* E, U
+ A. g5 T, G% V A% a- F+ ?6 z第三目标:每个用户的满足率不低于80%; . ~6 p! j, `) v 5 c6 b* B; F- }8 ] h第四目标:应尽量满足各用户的需求; 2 w8 J/ Z3 z2 I; _6 F7 j w- k, N8 r8 a, ^$ e$ l/ X0 z. S+ z
第五目标:新方案的总运费不超过原运输问题的调度方案的10%; " T% V) ^3 M2 k3 D0 ] q5 [- N 7 `5 U5 ]$ X0 n7 W6 T# d第六目标:因道路限制,工厂2到用户4的路线应尽量避免运输任务;/ V& W* I! \. O5 |, ?
, s9 |% V0 w5 `' G5 |
第七目标:用户1和用户3的满足率应尽量保持平衡; ; _ u2 ?/ ?+ z+ n / a9 r) l+ K0 y& P( Q) k第八目标:力求减少总运费。 ' w/ r* h4 R1 [- h/ b% ?" o2 s$ M9 E5 i' Z
请列出相应的目标规划模型,并用LINGO程序求解。/ G& W1 B( a3 l# K a
: l2 i0 V7 F$ J: T R* \
解 (1)求解原运输问题 由于总生产量小于总需求量,虚设工厂4,生产量为100个单位,到各个用户间的运 费单价为0。用LINGO软件求解,得到总运费是2950元,运输方案如下表所示。 ) }& i- p: g$ A4 v9 X j& D1 S& E" q3 T: Q : c6 ^% K/ Y" c% z
- D4 f) O! M. j' F
(2)下面按照目标的重要性的等级列出目标规划的约束和目标函数。 - B8 Y1 O9 l) a7 U) r% M. F% F# u# Y) j/ H) M% n 2 h! N" o& p) O% h+ \/ ~2 @. y- N: ?% G [4 V
; g9 Z P& T5 M$ V编写LINGO程序如下:' Q; \( d! f' A/ o0 b