5  优化模型实验 
5.1  基础训练 
1.  求函数极值 
求一元函数
在区间[0,  9]内的最大值点、最大值,并绘制出函
数图形,编写 function 程序文件返回 2 个参数,依次返回最大值点、最大值。 
提示:调用函数 fminbnd 计算。 
参考函数如下: 
function [x0,y0]=fun 
fun=inline('-exp(x).*x.*sin(x)'); 
fplot(fun,[0,9]),hold on 
[x0,y0]=fminbnd(fun,8,9); 
plot(x0,y0,'o') 
y0=-y0; 
hold off 
 
最大值点:x0 =        8.6937 
最大值  y0 =      3.4625e+04 
 
2.  求解下列线性规划模型 
参考解答:将原模型改写为如下等价的模型: 
 
 
xxexfxsin)(80209003010)(2501055.2100..1055.2),,(max321213321321321321xxxxxxxxxxxxtsxxxxxxf802090030101000)(2501055.2..1055.2),,(min321321321321321321xxxxxxxxxxxxtsxxxxxxf
参考程序: 
c=-[2.5 5 10]; 
A=[-2.5 -5 -10;-2 -2 1]; b=[-50;0]; 
Aeq=[1 1 1]; beq=100; 
lb=[10 0 20]; ub=[30 90 80]; 
[x,val,flag]=linprog(c,A,b,Aeq,beq,lb,ub) 
 
运行结果: 
x = 
      10.0000 
      23.3333 
      66.6667 
val = 
  -808.3333 
 
flag = 
          1 
 
3.  某饲养场有 5 种饲料.已知各种饲料的单位价格和每百公斤饲料的蛋白质、
矿物质、维生素含量如表所示,又知该场每日至少需蛋白质 70 单位、矿物质
3 单位、维生素 10 单位.间如何混合调配这 5 种饲料.才能使总成本最低?  请
对本问题建立模型,并编程求解. 
饲料种类 
1 
2 
3 
4 
5 
饲料的成分和单价 
成分 
蛋白质/单位  矿物质/单位  维生素/单位 
0.30 
2.20 
1.00 
0.60 
1.80 
0.10 
0.05 
0.02 
0.20 
0.05 
 
0.05 
0.10 
0.02 
0.20 
0.08 
饲料价格 
2 
7 
4 
3 
5 
解:设五种饲料的使用量分别为 x1,x2,x3,x4,x5。所用饲料的总成本为 f。 
则该问题的线性规划模型为: 
 
所编写的 M 文件为: 
c=[2;7;4;3;5] 
A=[-0.3 -2.2 -1.00 -0.06 -1.80;-0.10 -0.05 -0.02 -0.20 -0.05;-0.05 -0.10 
-0.02 -0.20 -0.08] 
12345123451234512345min274350.302.20.061.8700.10.050.020.200.0530.050.10.020.20.081001,2,3,4,5jfxxxxxxxxxxxxxxxxxxxxxj
b=[-70;-3;-10] 
[x,feval,flag]=linprog(c,A,b,[],[],zeros(5,1),inf*ones(5,1)) 
 
 
解得的结果为:x1=0, x2=0, x3=0, x4=34.9, x5=37.7; min f=293.3599. 
总上即知按如上使用才能使总成本最低为 293.4 元。 
 
 
5.2  实验任务 
一.实验任务 
某工厂有三种原料 C1,C2,C3,其储量分别为 150 公斤,160 公斤和 180 公
斤。现在用来生产甲、乙两种产品。已知每生产 1 公斤产品甲需要原料 C1  3 公
斤,原料 C2  6 公斤,原料 C3 2 公斤。每生产 1 公斤产品乙需要原料 C1  5 公斤,
原料 C2 5 公斤,原料 C3 6 公斤。又已知生产 1 公斤产品甲利润为 17 元,生产 1
公斤产品乙利润为 15 元。请为该工厂制定生产计划,使得利润尽可能大。 
二.  实验目的 
认识线性规划模型。 
熟悉 Matlab 求解线性规划模型的函数 linprog。 
 
三.  实验过程 
 
 
问在工厂现有资源条件下,应如何安排生产,才使工厂获得最大利润? 
 
1.问题分析: 
(1)条件数据: 
设安排生产产品 A1 和 A2 分别为 公斤, 公斤。 
根据问题实际情况,生产每种产品都需要 3 种原料(  C1,C2,C3  ),而 3 种
原料都有限。 
因此生产 A1 和 A2 要受到三种原料储量的限制。   
(2)建模目标: 
使工厂获得最大利润。 
模型建立 
可将该问题转化为如下的数学模型: 
1x2x
 
 
求解程序: 
c=-[17 15]; 
A=[3 5; 6 5; 2 6]; b=[150 160 180]; 
Aeq=[ ]; beq=[ ]; 
lb=[0;0]; ub=[inf;inf]; 
[x,val,flag]=linprog(c,A,b,Aeq,beq,lb,ub) 
运行结果: 
Optimization terminated. 
x = 
        3.3333 
      28.0000 
val = 
  -476.6667 
flag = 
          1 
 
四.  实验自评与改进方向 
 
1.  线性规划模型不算太复杂,此次建模较为容易; 
 
 
 
 
五.  实验体会,收获及建议 
1.  认识到线性规划模型有广泛应用; 
2.  线性规划建模过程需要把握优化问题的三个要素(目标,决策变量,约束条
件)。线性规划建模的另一个难点是如何用数学表达式描述三要素。 
 
00180621605615053..1517),(max212121212121xxxxxxxxtsxxxxf