农场生产计划 数学模型
问题重述
某农场有3万亩农田,欲种植玉米、大豆和小麦三种农作物.各种作物每亩需施化肥分别为 吨、吨、 吨.预计秋后玉米每亩可收获500千克,售价为 元/千克,
大豆每亩可收获200千克,售价为 元/千克,小麦每亩可收获350 千克,售价为 元 /千克.农场年初规划时考虑如下几个方面:
第一目标:年终收益不低于350万元; 第二目标:总产量不低于万吨;
第三目标:玉米产量不超过万吨,大豆产量不少于万吨,小麦产量以 万吨为宜,同时根据三种农作物的售价分配权重;
第四目标:农场现能提供5000 吨化肥;若不够,可在市场高价购买,但希望高价采购量愈少愈好.
模型假设与建立
模型假设:
1、 假设农作物的收成不会受天灾的影响
2、 假设农作物不受市场影响,价格既定
用321,,x x x 分别表示用于种植玉米、大豆、小麦的农田(单位:亩)
+
+---++++++=6
455433_22_11*)107
35*10735*10760*10712(**min d p d d d d p d p d p z 模型建立 约束条件
(1)刚性约束
30000321<=++x x x
(2)柔性约束
第一目标:年终收益不低于350万元;
{}
⎪⎩⎪⎨⎧=-++++
--
3500000
245240120min 113211
d d x x x d
第二目标:总产量不低于万吨;
{}
⎪⎩⎪⎨⎧=-++++
--
12500000
350200500min 223212
d d x x x d 第三目标:玉米产量不超过万吨,大豆产量不少于万吨,小麦产量以 万吨为宜,
{}
⎪⎩⎪⎨⎧=-++
-+
6000000
500min 3313
d d x d {}
⎪⎩⎪⎨⎧=-++--2000000
200m in 4424d d x d
{}
⎪⎩
⎪⎨⎧=-+++-+-500000035min 55255d d x d d
第四目标:农场现能提供5000 吨化肥;若不够,可在市场高价购买,但希望
高价采购量愈少愈好.
{}
⎪⎩⎪⎨⎧=-++++
-+
5000000
15.02.012.0min 663216
d d x x x d 模型求解:(见附件)
种植面积: 玉米:亩 土豆:亩 小麦:亩
能够得到一个满足条件的种植计划
附件:
model : sets :
L/1..4/:p,z,goal; V/1..3/:x; HN/1..1/:b; SN/1..6/:g,dp,dm; HC(HN,V):a; SC(SN,V):c; Obj(L,SN):wp,wm; endsets data : p=; goal=0;
b=30000;
g=3500000 6000000 2000000 5000000 5000000;
a=1,1,1;
c=120 240 245
500 200 350
500 0 0
0 200 0
0 0 350
120 200 150;
wp=0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0
0 0 0 0 0 1;
wm=1 0 0 0 0 0
0 1 0 0 0 0
0 0 0 0
0 0 0 0 0 0;
enddata
min=@sum(L(i):p(i)*z(i));
@for(L(i):z(i)=@sum(SN(j):wp(i,j)*dp(j)+wm(i,j)*dm(j)));
@for(HN(i):@sum(V(j):a(i,j)*x(j))<=b(i));
@for(SN(i):@sum(V(j):c(i,j)*x(j))+dm(i)-dp(i)=g(i));
@for(L(i)|i#lt#@size(L):@bnd(0,z(i),goal(i)));
No feasible solution found.
Total solver iterations: 10
Variable Value Reduced Cost
P( 1)
P( 2)
P( 3)
P( 4)
Z( 1)
Z( 2) +09
Z( 3) 2417143. -3125000.
Z( 4)
GOAL( 1)
GOAL( 2)
GOAL( 3) 2417143.
GOAL( 4)
X( 1)
X( 3)
B( 1)
G( 1) 3500000.
G( 2) +08
G( 3) 6000000.
G( 4) 2000000.
G( 5) 5000000.
G( 6) 5000000.
DP( 1) 3061543.
DP( 2) -2582429. +09 DP( 3) +08
DP( 4) +09
DP( 5) +09
DP( 6)
DM( 1)
DM( 2)
DM( 3) 3042143.
DM( 4)
DM( 5) +08
DM( 6)
A( 1, 1)
A( 1, 2)
A( 1, 3)
C( 1, 1)
C( 1, 2)
C( 1, 3)
C( 2, 1)
C( 2, 2)
C( 2, 3)
C( 3, 1)
C( 3, 2)
C( 3, 3)
C( 4, 1)
C( 4, 2)
C( 4, 3)
C( 5, 1)
C( 5, 2)
C( 5, 3)
C( 6, 1)
C( 6, 2)
C( 6, 3)
WP( 1, 1)
WP( 1, 2)
WP( 1, 4) WP( 1, 5) WP( 1, 6) WP( 2, 1) WP( 2, 2) WP( 2, 3) WP( 2, 4) WP( 2, 5) WP( 2, 6) WP( 3, 1) WP( 3, 2) WP( 3, 3) WP( 3, 4) WP( 3, 5) WP( 3, 6) WP( 4, 1) WP( 4, 2) WP( 4, 3) WP( 4, 4) WP( 4, 5) WP( 4, 6) WM( 1, 1) WM( 1, 2) WM( 1, 3) WM( 1, 4) WM( 1, 5) WM( 1, 6) WM( 2, 1) WM( 2, 2) WM( 2, 3) WM( 2, 4) WM( 2, 5) WM( 2, 6) WM( 3, 1) WM( 3, 2) WM( 3, 3) WM( 3, 4) WM( 3, 5) WM( 3, 6) WM( 4, 1) WM( 4, 2) WM( 4, 3) WM( 4, 4)
WM( 4, 6)
Row Slack or Surplus Dual Price
1
2
3 +09
4 -3125000.
5
6 +11
7
8 +09
9
10 +09
11 +08
12。