欢迎光临散文网 会员登陆 & 注册

运筹学实验三

2022-10-27 11:54 作者:啊啊啊不不不b  | 我要投稿

 

实验3

一、实验名称:线性规划问题的MATLAB实现

二、实验目的:熟悉如何利用MATLAB的优化工具箱实现线性规划问题的求解

三、实验内容

1.      熟练掌握MATLAB优化工具箱(Optimization Toolbox)中求解线性规划的函数linprog。此函数的用法参见附录1

要求:

1) 利用该函数求解课本(第五版)中的例子:例2-1、例2-2、例2-8、例2-9,例3-6;求解课后作业2.12)、2.51)和(2)、3.71)、3.8(原问题)。

注:例2-8约束可转化为不等式。format rat将结果显示为分式。

2) 实验报告中需要给出上述题目的程序代码和运行结果,模板参考下面的算例。

注意:此函数输入要求目标最小化,不等式为小于等于,具体问题需先转化为要求的形式;若某一输入变量缺省,需要以[]代替。

2-1

程序代码

format   rat;

%2.1
  f=[-80;-100];%
价值系数
  A=[8,4;4,5;3,10;4,6];
%约束条件
  b=[360;200;250;200];
%约束条件
  lb=[0;0];
%决策变量大于0
  [x,fval]=linprog(f,A,b,[],[],lb);
  fmax=-fval;
  disp([x]);
%最优解
  disp([fmax]);
%对应

 

运行结果

Optimal solution found.

 

      85/2      

       5        

 

    3900        

 2.2

程序代码

%2.2
  f=[3;2.3;2.5];%
价值系数
  A=[-90,-20,-40;-40,-80,-60];
%约束条件
  b=[-60;-55];
%约束条件
  Aeq=[1,1,1];
  beq=[1];
  lb=[0;0;0];
%决策变量大于0
  [x,fval]=linprog(f,A,b,Aeq,beq,lb);
  disp([x]);
%最优解
  disp([fval]);
%对应

运行结果

Optimal   solution found.

 

       4/7      

       3/7      

       0        

 

      27/10     

2.8

程序代码

%2.8
  f=[-7;-12];%
价值系数
  A=[9,4;4,5;3,10];
%约束条件
  b=[36;20;30];
%约束条件
  Aeq=[];
  beq=[];
  lb=zeros(size(f));
%决策变量大于0
  [x,fval]=linprog(f,A,b,Aeq,beq,lb);
  fmax=-fval;
  disp([x]);
%最优解
  disp([fmax]);
%对应

运行结果

Optimal   solution found.

 

       2        

      12/5      

 

     214/5      

2.9

程序代码

%2.9
  f=[-3,1,1];%
价值系数
  A=[1,-2,1;4,-1,-2;];
%约束条件
  b=[11;-3];
%约束条件
  Aeq=[-2,0,1];
  beq=[1];
  lb=zeros(size(f));
%决策变量大于0
  [x,fval]=linprog(f,A,b,Aeq,beq,lb);
  disp([x]);
%最优解
  disp([fval]);
%对应

运行结果

Optimal   solution found.

 

       4        

       1        

       9        

 

      -2       

3.6

程序代码

%3.6
  f=[2,3,4];%
价值系数
  A=[-1,-2,-1;-2,1,-3];
%约束条件
  b=[-3;-4];
%约束条件
  Aeq=[];
  beq=[];
  lb=zeros(size(f));
%决策变量大于0
  [x,fval]=linprog(f,A,b,Aeq,beq,lb);
  disp([x]);
%最优解
  disp([fval]);
%对应

运行结果

Optimal   solution found.

 

      11/5      

       2/5      

       0        

    

 28/5     

2.12

程序代码

%2.1(2)
  clear;
  f=[1,1.5];%
价值系数
  A=[-1,-3;-1,-1];
%约束条件
  b=[-3;-2];
%约束条件
  Aeq=[];
  beq=[];
  lb=zeros(size(f));
%决策变量大于0
  [x,fval]=linprog(f,A,b,Aeq,beq,lb);
  disp([x]);
%最优解
  disp([fval]);
%对应

运行结果

Optimal   solution found.

 

       3/2      

       1/2      

 

       9/4     

2.51

程序代码

%2.5(1
  clear;
  f=[-2,-3,5];
%价值系数
  A=[-2,5,-1];
%约束条件
  b=[-10];
%约束条件
  Aeq=[1,1,1];
  beq=[7];
  lb=zeros(size(f));
%决策变量大于0
  [x,fval]=linprog(f,A,b,Aeq,beq,lb);
  fval=-fval;
  disp([x]);
%最优解
  disp([fval]);
%对应

运行结果

Optimal   solution found.

 

      45/7      

       4/7      

       0        

 

     102/7      .

2.52

程序代码

%2.5(2
  clear;
  f=[-10,-15,-12];
%价值系数
  A=[5,3,1;-5,6,15;-2,-1,-1];
%约束条件
  b=[9;15;-5];
%约束条件
  Aeq=[];
  beq=[];
  lb=zeros(size(f));
%决策变量大于0
  [x,fval]=linprog(f,A,b,Aeq,beq,lb);
  fval=-fval;
  disp([x]);
%最优解
  disp([fval]);
%对应

运行结果

Linprog   stopped because no point satisfies the constraints.

3.71

程序代码

%3.7(1
  clear;
  f=[1,1];
%价值系数
  A=[-2,-1;-1,-7];
%约束条件
  b=[-4;-7];
%约束条件
  Aeq=[];
  beq=[];
  lb=zeros(size(f));
%决策变量大于0
  [x,fval]=linprog(f,A,b,Aeq,beq,lb);
 
%fval=-fval;
  disp([x]);
%最优解
  disp([fval]);
%对应

运行结果

Optimal   solution found.

 

      21/13     

      10/13     

 

      31/13     

3.8

程序代码

%3.8
  clear;
  f=[5,-5,-13];%
价值系数
  A=[-1,1,3;12,14,10];
%约束条件
  b=[20;90];
%约束条件
  Aeq=[];
  beq=[];
  lb=zeros(size(f));
%决策变量大于0
  [x,fval]=linprog(f,A,b,Aeq,beq,lb);
  fval=-fval;
  disp([x]);
%最优解
  disp([fval]);
%对应

运行结果

Optimal   solution found.

 

       0        

      35/16     

      95/16     

 

     705/8     

2.      了解图形界面的优化工具——GUI Optimization tool


运筹学实验三的评论 (共 条)

分享到微博请遵守国家法律