运筹学上机实验报告 利用Matlab求解整数线性规划

时间:2024.4.20

                 数学与软件科学学院 实验报告

学期:__2011_至__2012__ 第___一__ 学期                 20##年11月9日

课程名称:__运 筹 学 ________  专业:_信息与计算科学___  级__班

实验编号: 4 实验项目_利用Matlab求解整数线性规划  指导教师__黄娟___

姓名:_ ____    学号:    __   实验成绩:_____

 

一、实验目的及要求

利用Matlab求解整数线性规划,掌握相关函数的调用格式和参数的具体含义。

二、实验内容

把优化问题转化为Matlab能识别的矩阵运算, 调用Matlab提供的优化函数, 编写相应的M文件,并执行相应的程序。

三、实验步骤(该部分不够填写.请填写附页)

整数线性规划的求解步骤

<1>把整数线性规划化为要求的格式

 

<2> 将程序BranchBound.m放到当前目录中。

  <3>编写M文件(ILP.m),并保存。

>> f=[-3 -2]';

>> a=[-1 2;5 2;-1 -1];

>> b=[4;16;1];

>> [x,f_opt]=BranchBound(f,a,b,[],[])

<4>运行M文件。在》后输入ILP,按“Enter”键。结果参见附页

0-1规划的求解步骤

<1> 0-1规划化为要求的格式

<2>编写M文件(ILP01.m),并保存。

>> f=[0;0;0;0;0;0;-30;-30;-45;-45;-55;-55;-50;-50];

>> a=[400 0 320 0 560 0 250 0 330 0 500 0 450 0;

 0 400 0 320 0 560 0 250 0 330 0 500 0 450;

 0 0 0 0 0 0 1 1 0 0 0 0 0 0 ;

 0 0 0 0 0 0 0 0 1 1 0 0 0 0 ;

0 0 0 0 0 0 0 0 0 0 1 1 0 0 ;

  0 0 0 0 0 0 0 0 0 0 0 0 1 1];

>> b=[1000;1500;1;1;1;1];

>> aeq=[1 1 0 0 0 0 0 0 0 0 0 0 0 0;

 0 0 1 1 0 0 0 0 0 0 0 0 0 0;

0 0 0 0 1 1 0 0 0 0 0 0 0 0];

>> beq=[1;1;1];

>> [x,f_opt,flag]=bintprog(f,a,b,aeq,beq),answer=180+f_opt

<3>运行M文件。在》后输入ILP01,按“Enter”键。结果参见附页

         

 


四、实验结果分析与评价 (该部分不够填写.请填写附页)

整数线性规划的求解结果

x =

     2

     3

f_opt =

   -12

                                          

0-1规划的求解结果

x =

     1

     0

     0

     1

     0

     1

     0

     1

     0

     1

     1

     0

     0

     0

f_opt =

  -130

flag =

     1

answer =

    50

 


注:实验成绩等级分为(90-100分)优,(80-89分)良,(70-79分)中,(60-69分)及格,(59分)不及格


第二篇:Matlab求解线性规划和整数规划问题


1.线性规划问题:min f*x

s.t. A*x<=b

Aeq*x=beq

lb<=x<=ub

其中:A为不等式约束的系数矩阵,Aeq表示等式约束的系数矩阵,b表示不等式约束的常向量,beq表示等式约束的常向量,lb和ub表示自变量的上下范围。

求解函数:

linprog(f,A,b,Aeq,beq,lb,ub)

其中: f,A,b ,Aeq,beq,lb,ub的定义如上。

2.整数规划问题:利用函数(linprog)

先把BranchBound函数存在matlab的路径下,BranchBound函数的内容如下: function [y,fval]=BranchBound(c,A,b,Aeq,beq)

NL=length(c);

UB=inf;

LB=-inf;

FN=[0];

AA(1)={A};

BB(1)={b};

k=0;

flag=0;

while flag==0;

[x,fval,exitFlag]=linprog(c,A,b,Aeq,beq);

if (exitFlag == -2) | (fval >= UB)

FN(1)=[];

if isempty(FN)==1

flag=1;

else

k=FN(1);

A=AA{k};

b=BB{k};

end

else

for i=1:NL

if abs(x(i)-round(x(i)))>1e-7

kk=FN(end);

FN=[FN,kk+1,kk+2];

temp_A=zeros(1,NL);

temp_A(i)=1;

temp_A1=[A;temp_A];

AA(kk+1)={temp_A1};

b1=[b;fix(x(i))];

BB(kk+1)={b1};

temp_A2=[A;-temp_A];

AA(kk+2)={temp_A2};

b2=[b;-(fix(x(i))+1)];

BB(kk+2)={b2};

FN(1)=[];

k=FN(1);

A=AA{k};

b=BB{k};

break;

end

end

if (i==NL) & (abs(x(i)-round(x(i)))<=1e-7) UB=fval;

y=x;

FN(1)=[];

if isempty(FN)==1

flag=1;

else

k=FN(1);

A=AA{k};

b=BB{k};

end

end

end

end

y=round(y);

fval=c*y;

再利用命令[y,fval]=BranchBound(c,A,b,Aeq,beq)即可。

更多相关推荐:
《数学实验》报告matlab_第六次作业

数学实验报告实验名称matlab常微分概率和统计作图学院机械工程学院专业班级姓名学号20xx年11月一实验目的掌握运用Matlab解常微分方程的方法以及运用数值法解常微分的方法和步骤学会使用matlab一组数据...

Matlab数学实验报告模板

数学实验报告日期20年月日Maylab实验报告学院数学系班级09级A班姓名学号名称二0一二年五月八日

《数学实验》报告matlab-_第三次作业

数学实验报告实验名称matlab绘图学院机械工程学院20xx年10月一实验目的掌握Matlab绘图的基本知识学会使用matlab绘制三维曲线和三维曲面掌握基本的绘图指令学会为图形添加各种标注以及改变图形的着色效...

matlab数学实验报告2

西安交通大学数学实验报告数学实验报告20xx年6月12日2西安交通大学数学实验报告培养容器温度变化率模型一实验目的利用matlab软件估测培养容器温度变化率二实验问题现在大棚技术越来越好能够将温度控制在一定温度...

matlab——大学数学实验报告

济南大学20##~20##学年第二学期数学实验上机考试题班级计科1201学号##姓名##考试时间20##年6月17日授课教师##说明:每题分值20分。第5题,第6题,第7题和第8题可以任选其一,第9题和第10题…

matlab11实验报告

辽宁工程技术大学上机实验报告1程序x2025303540455055606539Xones101xY13215116417117918719621222524339bbintrrintstatsregressY...

Matlab实验报告五(微分方程求解Euler折线法)

数学与信息科学系实验报告实验名称微分方程求解所属课程数学软件与实验实验类型综合型实验专业信息与计算科学班级学号姓名指导教师1234

Matlab数学实验报告格式

目录1学生成绩管理22函数极限问题53蛛网模型84水塔模型115混沌问题156拉格朗日与三次样条插值197曲线拟合268定积分289解线性方程组31MATLAB作业MATLAB作业MATLAB作业

Matlab数学实验报告

信息与计算科学一班何新荣20xx1772实验一Matlab基本操作1实验课程名称数学实验2实验项目名称Matlab基本操作3实验目的和要求了解Matlab的基本知识熟悉其上机环境掌握利用Matlab进行基本运算...

东南大学几何与代数matlab实验报告

数学实验报告学号姓名吴雪松得分实验1求解线性方程组实验内容用MATLAB求解如下线性方程组Axb其中5100A00006510000006510000006510000006510000006510000006...

matlab实验报告

MATLAB教程及实训班级学号姓名实验报告实验1熟悉matlab的开发环境及矩阵操作一实验的教学目标通过本次实验使学生熟悉MATLAB70的开发环境熟悉MATLAB工作界面的多个常用窗口包括命令窗口历史命令窗口...

matlab基本操作实验报告

实验一matlab基本操作一实验目的熟悉matlab的安装与启动熟悉matlab用户界面熟悉matlab功能建模元素熟悉matlab优化建模过程二实验设备与仪器1微机2matlab仿真软件三实验步骤1了解mat...

matlab数学实验报告(22篇)