5.13

所花时间:3小时

代码量:10

博客篇:1

MATLAB最优化工具箱的使用

1)线性规划应用案例的求解

一、实验目的

通过一个农业生产计划优化安排的实例求解,培养学生解决实际线性规划问题的初步能力;熟悉线性规划的建模过程;掌握Matlab优化工具箱中线性规划函数的调用。

 

二、实验内容

某村计划在100公顷的土地上种植abc三种农作物。可以提供的劳力、粪肥和化肥等资源的数量,种植每公顷农作物所需这三种资源的数量,以及能够获得的利润如表所示。

种植投入产出表

 

 

粪肥(吨)

化肥(千克)

利润(元)

a

450

35

350

1500

b

600

25

400

1200

c

900

30

300

1800

可提供资源

63000

3300

33000

 

其中一个劳动力干一天为1个工。现在要求为该村制定一个农作物的种植计划,确定每种农作物的种植面积,使得总利润最大。

 

 

 

三、算法步骤、代码、及结果

1. 算法步骤

x1x2x3分别表示农作物ABC的种植面积

问题模型:

max z = 1500x1 + 1200x2 + 1800x3

s.t.  

x1 + x2 + x3 = 100

450x1 + 600x2 + 900x3 <=63000

35x1 + 25x2 + 30x3 <=3300

350x1 + 400x2 + 300x3 <=33000

x1, x2, x3 >= 0

 

2. 代码

>> f=[1500 1200 1800]';

>> f=-f;

>> a=[450 600 900;35 25 30;350 400 300];

>> b=[63000 3300 33000]';

>>  acq=[1 1 1];

>> aeq=[1 1 1];

>>  beq=[100];

>>  lb=zeros(3,1);

>>

>>  [x,fval,exitflag,output,lamdba]=linprog(f,a,b,aeq,beq,lb)

 

 

posted @ 2024-05-13 20:56  umiQa  阅读(1)  评论(0编辑  收藏  举报