实验报告——整数规划1

合集下载

整数规划实验报告例文

整数规划实验报告例文

篇一:实验报告整数规划一、实验名称:整数规划问题和动态规划问题二、实验目的:熟练使用Spreadsheet建立整数规划、动态规划模型,利用excel建立数学模型,掌握求解过程,并能对实验结果进行分析及评价三、实验设备计算机、Excel四、实验内容(一)整数规划1、0-1整数规划其中,D11=F2;D12=F3;D13=F4;D14=F5;B11=SUMPRODUCT($B$9:$E$9,B2:E2);B12=SUMPRODUCT($B$9:$E$9,B3:E3);B13=SUMPRODUCT($B$9:$E$9,B4:E4);B14=SUMPRODUCT($B$9:$E$9,B5:E5);H8==SUMPRODUCT($B$9:$E$9,B6:E6);用规划求解工具求解:目标单元格为$H$8,求最大值,可变单元格为$B$9:$E$9,约束条件为$B$11:$B$14<=$D$11:$D$14;$B$9:$E$9=二进制。

在【选项】菜单中选择“采用线性模型”“假定非负”。

即可进行求解得结果,实现最大利润为140.2、整数规划其中,D11=D2;D12=D3;B11=SUMPRODUCT($B$8:$C$8,B2:C2);B12=SUMPRODUCT($B$8:$C$8,B3:C3); F7=SUMPRODUCT($B$8:$C$8,B4:C4);用规划求解工具求解:设置目标单元格为F7,求最大值,可变单元格为$B$8:$C$8,约束条件为$B$11:$B$12<=$D$11:$D$12;$B$8:$C$8=整数。

在【选项】菜单中选择“采用线性模型”“假定非负”。

即可进行求解得结果,实现最大利润为14.3、指派问题人数跟任务数相等:其中,F11=SUM(B11:E11);F12=SUM(B12:E12);F13=SUM(B13:E13);F14=SUM(B14:E14); B15=SUM(B11:B14);C15=SUM(B11:B14);D15=SUM(B11:B14);E15=SUM(B11:B14); H11,H12,H13,H14,B17,C17,D17,E17单元格值均设为1.用规划求解工具求解:设置目标单元格为$B$8,求最小值,可变单元格为$B$11:$E$14,约束条件为$B$11:$E$14=二进制;$B$15:$E$15=$B$17:$E$17;$F$11:$F$14=$H$11:$H$14. 在【选项】菜单中选择“采用线性模型”“假定非负”。

数学建模线性规划和整数规划实验

数学建模线性规划和整数规划实验

1、线性规划和整数规划实验1、加工奶制品的生产计划(1)一奶制品加工厂用牛奶生产A1, A2两种奶制品,1桶牛奶可以在甲车间用12小时加工成3千克A1产品,或者在乙车间用8小时加工成4千克A2 产品.根据市场需求,生产的A1、A2产品全部能售出,且每千克A1产品获利24元,每千克A2产品获利16元.现在加工厂每天能得到50桶牛奶的供应,每天正式工人总的劳动时间为480小时,并且甲车间的设备每天至多能加工100 千克A1产品,乙车间的设备的加工能力可以认为没有上限限制.试为该厂制订一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题: (i)若用35元可以买到1桶牛奶,是否应作这项投资?若投资,每天最多购买多少桶牛奶?(ii)若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元?(iii)由于市场需求变化,每千克A1产品的获利增加到30元,是否应改变生产计划?(2)进一步,为增加工厂获利,开发奶制品深加工技术.用2小时和3元加工费,可将1千克A1加工成0.8千克高级奶制品B1,也可将1千克A2加工成0.75千克高级奶制品B2,每千克B1可获44元,每千克B2可获32元.试为该厂制订一个生产销售计划,使每天获利最大,并进一步讨论以下问题:(i)若投资30元可增加供应1桶牛奶,投资3元可增加1小时劳动时间,是否应作这项投资?若每天投资150元,或赚回多少?(ii)每千克高级奶制品B1, B2的获利经常有10%的波动,对制订的生产销售计划有无影响?若每千克B1的获利下降10%,计划是否应作调整?解:由已知可得1桶牛奶,在甲车间经过十二小时加工完成可生产3千克的A1,利润为72元;在乙车间经八小时加工完成可生产四千克的A2,利润为64元。

利用lingo软件,编写如下程序:model:max=24*3*x1+16*4*x2;s.t.12*x1+8*x2≤480;x1+x2≤50;3*x1≤100;X1≥0,x2≥0end求解结果及灵敏度分析为:Objective value: 3360.000Total solver iterations: 2Variable Value Reduced CostX1 20.00000 0.000000X2 30.00000 0.000000Row Slack or Surplus Dual Price1 3360.000 1.0000002 0.000000 2.0000003 0.000000 48.000004 40.00000 0.000000Objective Coefficient RangesCurrent Allowable Allowable Variable Coefficient Increase DecreaseX1 72.00000 24.00000 8.000000X2 64.00000 8.000000 16.00000Righthand Side RangesRow Current Allowable AllowableRHS Increase Decrease2 480.0000 53.33333 80.000003 50.00000 10.00000 6.6666674 100.0000 INFINITY 40.00000 分析结果:1)从结果可以看出在供应甲车间20桶、乙车间30桶的条件下,获利可以达到最大3360元。

实验报告整数规划

实验报告整数规划

实验报告一、实验名称:整数规划问题和动态规划问题二、实验目的:熟练使用Spreadsheet建立整数规划、动态规划模型,利用excel建立数学模型,掌握求解过程,并能对实验结果进行分析及评价三、实验设备计算机、Excel四、实验内容(一)整数规划1、0-1整数规划其中,D11=F2;D12=F3;D13=F4;D14=F5;B11=SUMPRODUCT($B$9:$E$9,B2:E2);B12=SUMPRODUCT($B$9:$E$9,B3:E3);B13=SUMPRODUCT($B$9:$E$9,B4:E4);B14=SUMPRODUCT($B$9:$E$9,B5:E5);H8==SUMPRODUCT($B$9:$E$9,B6:E6);用规划求解工具求解:目标单元格为$H$8,求最大值,可变单元格为$B$9:$E$9,约束条件为$B$11:$B$14<=$D$11:$D$14;$B$9:$E$9=二进制。

在【选项】菜单中选择“采用线性模型”“假定非负”。

即可进行求解得结果,实现最大利润为140.2、整数规划其中,D11=D2;D12=D3;B11=SUMPRODUCT($B$8:$C$8,B2:C2);B12=SUMPRODUCT($B$8:$C$8,B3:C3);F7=SUMPRODUCT($B$8:$C$8,B4:C4);用规划求解工具求解:设置目标单元格为F7,求最大值,可变单元格为$B$8:$C$8,约束条件为$B$11:$B$12<=$D$11:$D$12;$B$8:$C$8=整数。

在【选项】菜单中选择“采用线性模型”“假定非负”。

即可进行求解得结果,实现最大利润为14.3、指派问题人数跟任务数相等:其中,F11=SUM(B11:E11);F12=SUM(B12:E12);F13=SUM(B13:E13);F14=SUM(B14:E14);B15=SUM(B11:B14);C15=SUM(B11:B14);D15=SUM(B11:B14);E15=SUM(B11:B14);H11,H12,H13,H14,B17,C17,D17,E17单元格值均设为1.用规划求解工具求解:设置目标单元格为$B$8,求最小值,可变单元格为$B$11:$E$14,约束条件为$B$11:$E$14=二进制;$B$15:$E$15=$B$17:$E$17;$F$11:$F$14=$H$11:$H$14. 在【选项】菜单中选择“采用线性模型”“假定非负”。

整数规划隐枚举法实验报告

整数规划隐枚举法实验报告

实验报告名称:运筹学上机实习一、实验的目的与要求1、实现整数规划隐枚举法的计算机实现实验(本实验是通过c++编程实现的)。

2、实验成果要求基本要求:能够完成整数规划隐枚举法的计算(给出的是标准形式的整数规划问题)。

提高要求:求解分成两种情况:(1)求最大值max。

(2)求最小值min。

二、实验分析由实验要求知,需要在运行界面里输入一个整数规划的标准型(包括系数矩阵,目标函数矩阵,b列值,变量x的取值矩阵),然后运行界面会返回输出结果。

实验实现过程:#include<iostream.h>#include<math.h>/*本程序为整数规划隐枚举法*/void main(){float a[30],c[30][30],b[30],c_b[30];int x[30][100],m,n,i,j,p=0,shuru,e,f;//a[]为目标系数,c[][]系数矩阵,c_b[]判是否符合要求的数列,b[]为b 列值。

//x[][]为变量的取值,m行,n列。

其中m行,n列是系数矩阵c[][]的行列值。

//shuru为选择变量(目标函数求最大max值输入1,目标函数求最小min值输入2)。

//本方法要将x1,x2,x3...的取值(0或1)以纵向形式(二进制形式)输入。

cout<<"/*"<<endl<<"本程序为整数规划隐枚举法,"<<endl;cout<<"本设计方法要将x1,x2,x3,x4...的取值(0或1)以纵向形式(且为二进制形式)输入。

"<<endl<<"*/"<<endl<<endl;cout<<"请输入系数矩阵c[][]的行数m为:"<<"\n";cin>>m;cout<<"请输入系数矩阵c[][]的列数n为:"<<"\n";cin>>n;cout<<"请输入目标函数a[]的系数:"<<"\n";for(i=0;i<n;i++)cin>>a[i];cout<<"请输入系数矩阵c[][]:"<<"\n";for(i=0;i<m;i++)for(j=0;j<n;j++)cin>>c[i][j];cout<<"b列值:"<<"\n";for(i=0;i<m;i++)cin>>b[i];cout<<"请输入变量的取值(变量x1,x2,x3......只能取整数0和1,且以二进制的形式)"<<"\n";cout<<"以纵向形式写出x[][]矩阵的取值"<<"\n";cout<<"即:(x1,x2,x3...)T (x1,x2,x3...)T (x1,x2,x3...)T (x1,x2,x3...)T...:"<<"\n";cout<<"(其中T表示矩阵的转置)"<<endl;for(i=0;i<n;i++)for(j=0;j<pow(2,n);j++)cin>>x[i][j];for(i=0;i<m;i++){c_b[i]=0;}cout<<"若目标函数求最大max值请输入1"<<"\n";cout<<"若目标函数求最小min值请输入2"<<"\n";cin>>shuru;float z=0.0;//目标函数求最大max值的情况if(shuru==1){ //用试探法找初始可行解。

实验四:整数规划

实验四:整数规划

实验四:整数规划一、实验目的:整数规划问题建模及软件求解。

二、实验要求:1.掌握一般整数规划、0-1整数规划问题、指派问题的建模;2.了解求解整数规划问题的方法:分支定界法、割平面法、隐枚举法、匈牙利法;3.学会用matlab 、 lingo 软件求解整数规划问题。

三、实验内容:1、求解下列整数规划问题:⎪⎪⎩⎪⎪⎨⎧≥≤+≤++=.,0,30561652..max 2121212121为整数x x x x x x x x t s x x z(1)给出lingo 原始代码;(2)求解结果粘贴。

(1)model :max =x1+x2;2*x1+5*x2<=16;6*x1+5*x2<=30;@gin (x1);@gin (x2);end(2)Global optimal solution found.Objective value: 5.000000Objective bound: 5.000000Infeasibilities: 0.000000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced Cost X1 5.000000 -1.000000 X2 0.000000 -1.000000Row Slack or Surplus Dual Price 1 5.000000 1.000000 2 6.000000 0.000000 3 0.000000 0.0000002、求解下列0-1整数规划问题:⎪⎩⎪⎨⎧==≤+-+-≤--+-+-+-=.5,4,3,2,1,100242645723..4352max 543215432154321i x x x x x x x x x x x t s x x x x x z i或 (1)给出matlab 、lingo 原始代码;(2)求解结果粘贴。

(1)Lingomodel :max =2*x1-x2+5*x3-3*x4+4*x5;3*x1-2*x2+7*x3-5*x4-4*x5<=6;x1-x2+2*x3-4*x4+2*x5<=0;@bin (x1);@bin (x2);@bin (x3);@bin (x4);@bin (x5);!sets: A/1..5/x @(for(A:@bin(x)));end(2)Global optimal solution found.Objective value: 7.000000Objective bound: 7.000000Infeasibilities: 0.000000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced Cost X1 1.000000 -2.000000X2 1.000000 1.000000X3 1.000000 -5.000000X4 1.000000 3.000000X5 1.000000 -4.000000Row Slack or Surplus Dual Price1 7.000000 1.0000002 7.000000 0.0000003 0.000000 0.000000(1)matlabf=[-2 1 -5 3 -4];A=[3 -2 7 -5 -4;1 -2 2 -4 2];b=[6 0];[x,z]=bintprog(f,A,b)z=-z(2)>> exOptimization terminated.x =11111z =-7z =73、(指派问题)现有A,B,C,D,E 5个人,挑选其中4个人去完成4项工作。

割平面法求解整数规划问题实验报告

割平面法求解整数规划问题实验报告

运筹学与最优化MATLAB 编程实验报告割平面法求解整数规划问题一、 引言:通过对MATLAB 实践设计的学习,学会使用MATLAB 解决现实生活中的问题。

该设计是在MATLAB 程序设计语言的基础上,对实际问题建立数学模型并设计程序,使用割平面法解决一个整数规划问题。

经实验,该算法可成功运行并求解出最优整数解。

二、 算法说明:割平面法有许多种类型,本次设计的原理是依据Gomory 的割平面法。

Gomory 割平面法首先求解非整数约束的线性规划,再选择一个不是整数的基变量,定义新的约束,增加到原来的约束中,新的约束缩小了可行域,但是保留了原问题的全部整数可行解。

算法具体设计步骤如下:1、首先,求解原整数规划对应的线性规划,*)(min x c x f =⎩⎨⎧≥≤0..x bAx t s ,设最优解为x*。

2、如果最优解的分量均为整数,则x*为原整数规划的最优解;否则任选一个x*中不为整数的分量,设其对应的基变量为x p ,定义包含这个基变量的切割约束方程con jj ij p b x r x =+∑,其中x p 为非基变量。

3、令][ij ij ij r r r -=,][con con con b b b -=,其中[]为高斯函数符号,表示不大于某数的最大整数。

将切割约束方程变换为∑∑-=-+jjij con con jj ij p x r b b x r x ][][,由于0<ij r <1,0<con b <1,所以有1<-∑jj ij con x r b ,因为自变量为整数,则∑-jj ij con x r b 也为整数,所以进一步有0≤-∑jj ij con x r b 。

4、将切割方程加入约束方程中,用对偶单纯形法求解线性规划⎪⎪⎩⎪⎪⎨⎧≥≤-≤=∑00..,*)(min x x r b b Ax t s x c x f j j ij con ,然后在转入步骤2进行求解,直到求出最优整数解停止迭代。

课内实验-运筹学-整数规划

课内实验-运筹学-整数规划

课内实验报告
课程名:运筹学
任课教师:巩永华
专业:信息管理与信息系统学号:
姓名:
2010/2011学年第 2 学期
南京邮电大学经济与管理学院
⎪⎪

⎪⎩

⎪⎪⎪⎨
⎧==≥≥++≥+≥+≤++≤++++++++++++++++++=10,3,2,11002112720
18016014080907080150120010061584825302022504036max 109876543211098765432110
987654321 i x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x z i i ,或者且 2利用 Excell 求解
首先在excel 表上建立运输问题的模型,如图所示。

添加目标单元格,约束:
最后参数设定如下图所示:求解结果:
生成运算结果报告
3 结果分析
本次实主要研究的是0-1整数规划的问题,通过结果的分析,主要涉及的内容主要是投资场所的选定问题,通过建立数学模型并且用excel规划求解我们发现,当x1=0,x2=0,x3=0,x4=0,x5=1, x6=1, x7=1, x8=1, x9=1, x10=1时,即A1,A2, A3, A4,点不被选用, A5, A6, A7, A8, A9, A10点被选用的时候得到的目标函数值即年利润是最大的,为242万元。

在现实生活中,0-1整数规划问题可以除了用来求解投资场所的选定问题以外,还可以求解关于固定费用的问题即总成本最小的问题,并且求解结果对于问题的分析有很大的帮助,再做规划时候有一定的现实意义。

基于ILOG的整数规划实验报告

基于ILOG的整数规划实验报告

某工厂生产甲,乙两种产品,已知生产甲种产品1t ,需耗A 种矿石10t ,B 种矿石5t ,煤4t, 生产乙种产品1t 需耗A 种矿石4t ,B 种矿石4t ,煤9t ,每1t 甲种产品的利润是600元。

每1t 乙种产品的利润是1000元。

工厂在生产这两种产品的计划中要求消耗A 种矿石不超过300t ,B 种矿石不超过200t ,煤不超过360t ,甲,乙这两种产品应各生产多少。

(精确到1t)。

能使利润总额达到最大?
解:
决策变量:生产甲乙两种产品的数x1,x2;
目标函数:利润额最大max z=600*x1+1000*x2;
约束条件:消耗A 种矿石不超过300t ,B 种矿石不超过200t ,煤不超过360t,
数学模型:⎪⎪⎩⎪⎪⎨⎧>=<=+<=+<=++=02,1360
2*91*42002*41*5300
2*41*10..2
*10001*600max x x x x x x x x t s x x z
模型文件:
数据文件:
最优解:
灵敏度分析
由上图知,生产甲种产品11t,乙种产品35t利润额最大,为41600元。

运筹学实验报告之整数线性规划

运筹学实验报告之整数线性规划

数学与软件科学学院 实验报告学期:2012_至_2013 第_1_ 学期 2012_年12_月13_日 课程名称:_运筹学 专业:数学与应用数学__ 2011级__1__班 实验编号:3 实验项目____整数线性规划__ 指导教师__黄娟___ 姓名: 杨志刚 学号: 20110601051 实验成绩:_____一、实验目的及要求利用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”键。

⎪⎪⎪⎩⎪⎪⎪⎨⎧≤--≤+≤+---=为整数2121212121,1162542..23min x x x x x x x x t s x x z0-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];a_eq=[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 ];b_eq=[1 1 1];[x,f_opt,flag]=bintprog(f, a, b, a_eq, b_eq)f_min=180+f'*x <3> 运行M 文件。

求解整数规划实验报告

求解整数规划实验报告

求解整数规划实验报告1. 引言整数规划是运筹学领域的重要分支,广泛应用于实际问题中。

本实验旨在研究和探索整数规划的求解方法,并通过实验验证算法的有效性和效率。

2. 实验目的本实验的主要目的如下:1. 了解整数规划的概念和基本原理;2. 学习并掌握整数规划的求解算法;3. 探索整数规划的应用实例,并进行模型构建;4. 运用求解工具求解整数规划模型,并进行结果分析。

3. 实验过程3.1 整数规划的概念和基本原理整数规划是指决策变量为整数的线性规划问题。

与线性规划相比,整数规划在模型的约束条件中要求决策变量为整数。

3.2 整数规划的求解算法常见的整数规划求解算法有分支定界法、割平面法等。

本实验主要采用分支定界法进行求解。

分支定界法是一种基于深度优先搜索的算法,其核心思想是通过不断分割问题的可行域,将整数规划问题转化为一系列子问题,以便找到最优解。

3.3 模型构建与求解工具选择本实验选择了某航空公司飞机调度问题作为研究对象。

在该问题中,需要确定飞机的起飞和降落时间以及机组成员的配备情况,以最小化总飞行成本为目标。

采用Python作为实验的编程语言,并使用PuLP库进行整数规划模型的构建和求解。

3.4 计算实验及结果分析首先,根据问题描述构建了完整的整数规划模型,并利用PuLP库求解得到最优解。

然后,通过对比不同约束条件下的模型求解结果,分析影响结果的关键因素。

最后,对实验结果进行总结,并提出改进措施和优化建议。

4. 实验结果与分析通过对某航空公司飞机调度问题的求解,得到了最优的飞行计划和配备方案,有效降低了航空公司的飞行成本。

同时,通过对比不同约束条件下的模型求解结果,发现起飞时间和降落时间的限制对最终成本的影响较大。

因此,建议航空公司在制定飞行计划时,合理安排飞机的起飞和降落时间,以减少不必要的成本。

5. 总结与展望本实验通过对整数规划的研究和实践,深入理解了整数规划的概念、原理和求解方法。

同时,通过实验还发现了整数规划在实际问题中的应用价值,并掌握了使用PuLP库求解整数规划模型的方法。

实验报告——整数规划1

实验报告——整数规划1
5 50.00000 0.000000
6 0.000000 0.000000
7 0.000000 0.000000
解得,最大目标函数值为300,最优解为x1=100,x2=0,x3=0。也就是说生产100台小容器可得最大利润300万元。
例2:已知
项目A:从第一年到第四年每年年初需要投资,并于次年末回收本利115%,但要求第一年投资最低金额为4万元,第二、三、四年不限;
项目B:第三年初需要投资,到第五年末能回收本利128%,但规定最低投资金额为3万元,最高金额为5万元;
项目C:第二年初需要投资,到第五年末能回收本利140%,但规定其投资额或为2万元或为4万元或为6万元或为8万元。
项目D:五年内每年初可购买公债,于当年末归还,并加利息6%,此项投资金额不限。
该部门现有资金10万元,问它应如何确定给这些项目的每年投资额,使到第五年末拥有的资金本利总额为最大?
Bx3B
Cx2C
D x1D x2D x3D x4Dx5D
实验过程记录(含:基本步骤、主要程序清单及异常情况记录等)(接上页):
maxz= 1.15x4A+ 1.40x2C+ 1.28x3B+ 1.06x5D
s.t.x1A+x1D= 100000;
x2A+x2C+x2D= 1.06x1D;
x3A+x3B+x3D= 1.15x1A+ 1.06x2D;
x3<=M*y3;
@GIN(x1);@GIN(x2);@GIN(x3);
@BIN(y1);@BIN(y2);@BIN(y3);
end
(转下页)
实验过程记录(含:基本步骤、主要程序清单及异常情况记录等)(接上页):

整数规划实验案例

整数规划实验案例

1、一个公司考虑到北京、上海、广州和武汉四个城市设立库房,这些库房负责向华北、华中、华南三个地区供货,每个库房每月可处理货物1000件。

在北京设库房每月成本为4.5万元,上海为5万元,广州为7万元,武汉为4万元。

每个地区的月平均需求量为:华北每月500件,华中每月800件,华南每月700件。

发运货物的费用(单位:元/件)如下表所示:公司希望在满足地区需求的条件下使平均月成本为最小,且还要满足以下条件:a)如果在上海设库房,则必须也在武汉设库房;b)最多设两个库房;c)武汉和广州不能同时设库房;请写出一个满足上述要求的整数规划模型,并求出最优解。

2、华南投资公司决定投资兴办产业,以增强发展后劲,投资总额为800万元,其中第一年(即1998年)350万元,第二年300万元,第三年150万元。

投资方案有:A1:建立彩色印刷厂。

第一、二年年初分别投入220万元220万元,第二年年底可获利60万元,第三年起每年获利130万元。

A2:投资离子镀膜基地。

第一年投资70万元,第二年起每年获利18万元。

A3:投资参股F企业,第二年投入180万元设备,第三年起每年可获利50万元。

A4:投资D企业,每年年底可获得投资额的25%的利润,但第一年最高投资额为80万元,以后每年递增不超过15万元。

A5:建立超细骨粉生产线,第三年投入320万元第四年起每年可获利90万元。

A6:投资所属中北机电设备公司,年底回收本利120%,但每年投资额不低于60万元。

A7:投资所属澳得技术公司,年底回收本利115%所求问题:投资期为五年,需从上述七个方案中选择最优投资组合,使得五年末时资金总额为最大。

3、北京安居房地产公司主要从事北京市内的房地产开发建设、出售、出租、工程勘察设计、工程承包、装饰工程等主营业务和批发、零售、代销建筑材料、机械电器设备等兼营业务,注册资金1000万元。

公司为对未来的开发项目作出可行性研究,充分发挥决策的作用,财务部门决定对今后三年可能投资的项目进行优选以最大化收益。

数学实验 9:整数规划

数学实验 9:整数规划

实验 9:整数规划习题9:(原油采购与加工)某公司用两种原油(A 和B )混合加工成两种汽油(甲和乙),甲、乙两种汽油含原油A 的最低比例分别为50%和60%,每吨售价分别为4800元和5600元。

该公司现有原油A 和B 的库存量分别为500t 和1000t ,还可以从市场上买到不超过1500T 的原油A 。

原油A 的市场价为:购买量不超过500t 时单价为10000元/t ;购买量超过500t 但是不超过1000t 时,超过500t 的部分8000元/t ;购买量超过1000t 时,超过1000t 的部分6000元/t 。

该公司应该如何安排原油的采购和加工?用连续规划和证书规划分别求解这个问题。

1. 模型建立研究该公司原油的采购和加工过程,需要对两个过程中的各个参数设置变量: a1,a2 A 原油分别用来制造甲、乙两种产品的质量(t) b1,b2 B 原油分别用来制造甲、乙两种产品的质量(t)y1,y2,y3 购买的A 原油质量:y1为<500t 部分,y2为>500t 且<1000t 部分,y3 为>1000t 部分(t)cost 购买原油A 所需要的总花销(元)问如何规划投资和生产,实际上就是问如何将利润最大化,根据题目中给出的约束条件建立优化模型的基本形式:max4800(11)5600(22)..1/(11)50%2/(22)60%1250012312100010000*18000*26000*3(1500)*20(2500)*301,2,3500a b a b Cost s t a a b a a b a a y y y b b Cost y y y y y y y y y y +++-+<+<+<++++<=++-=-=<其中,约束条件的1、2行为对两种产品含原油A 比例的最低限定条件;3、4行的意义是用来制造产品的原料不能大于库存和购买来的原料总量;Cost 为总花销;6、7、8行实现了y1、y2、y3的意义。

实验10-整数规划

实验10-整数规划

Value 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
a 1 i 1
10
10
化学工程系 化 33 芦琛璘
清华大学《数学实验》实验报告
【模型求解】
利用 LINGO 如下程序: MODEL: SETS: num/1..10/; call(num,num):x,t,p;
ENDSETS DATA: T= 0 5 3 7 9 3 9 2 9 0 5 0 7 8 3 2 3 3 5 7 3 7 0 9 3 5 3 3 9 3 7 8 9 0 8 4 1 8 0 4 9 3 3 8 0 8 8 7 5 9 3 2 5 4 8 0 4 8 0 3 9 3 3 1 8 4 0 7 9 5 2 3 3 8 7 8 7 0 5 5 9 5 9 0 5 0 9 5 0 5 0 7 3 4 9 3 5 5 5 0; P= 0 7 4 6 8 8 8 6 6 5 7 0 8 2 6 5 6 8 3 6 4 8 0 10 4 4 7 2 6 7 6 2 10 0 6 6 9 3 2 6 8 6 4 6 0 6 4 8 8 6 8 5 4 6 6 0 3 8 3 2 8 6 7 9 4 3 0 6 7 8 6 8 2 3 8 8 6 0 8 8 6 3 6 2 8 3 7 8 0 9 5 6 7 6 6 2 8 8 9 0; ENDDATA min=@sum(call(i,j):@sum(call(a,b):x(i,a)*x(j,b)*p(a,b)*t(i,j);););

实验十(整数规划)

实验十(整数规划)
DD(T,S):TIME,FEE,X;
ENDSETS
DATA:
TIME=
0
5
3
7
9
3
9
2
9
0
FEE=
0
7
4
6
8
8
8
6
6
5
5
0
7
8
3
2
3
3
5
7
3
7
0
9
3
5
3
3
9
3
7
8
9
0
8
4
1
8
0
4
7
0
8
2
6
5
6
8
3
6
4
8
0
10
4
4
7
2
6
7
9
3
3
8
0
8
8
7
5
9
3
2
5
4
8
0
4
8
0
3
9
3
3
1
8
4
0
7
9
5
2
3
3
8
7
8
7
0
5
1750 ≤ 29012 + 31522 + 35032 + 45542 ≤ 1850
1750 ≤ 29013 + 31523 + 35033 + 45543 ≤ 1850
1750 ≤ 29014 + 31524 + 35034 + 45544 ≤ 1850
大学数学实验 实验报告 | 2014/5/10

整数规划实验报告心得

整数规划实验报告心得

整数规划实验报告心得引言整数规划是运筹学中一种重要的优化方法,它在决策问题中有着广泛的应用。

在整数规划实验中,我们通过数学模型的建立和求解来解决实际问题。

本次实验我们使用了MATLAB软件,通过调用优化工具箱中的整数规划函数,对一个具体的问题进行了求解。

实验内容本次实验主要任务是解决一个生产调度问题。

在一个工厂中,有n种原料,每种原料的供应量和价格都不同,而产品的生产需要用到这些原料。

研究目的是确定每种原料的需求量,以最小化总成本,并满足产品的需求。

实验步骤1. 问题分析与建模:首先,我们需要对问题进行分析,并建立数学模型。

在这个问题中,我们需要确定每种原料的需求量,所以我们可以将原料的需求量作为决策变量。

而最小化成本是我们的目标,所以我们可以将成本作为目标函数。

同时,由于原料的需求量必须是整数,我们可以将问题转化为整数规划问题。

2. 模型求解:然后,我们使用MATLAB软件来求解整数规划模型。

首先,我们需要将模型转化为标准形式,并进行线性规划求解。

然后,我们通过整数规划函数来求解整数规划模型。

3. 结果分析:最后,我们对求解结果进行分析。

通过对原料需求量的分析,我们可以评估生产成本的优劣。

同时,我们还可以通过敏感性分析,来评估模型的稳定性和可靠性。

心得体会通过本次实验,我对整数规划方法有了更深入的理解。

整数规划是一种非常实用的优化方法,广泛应用于生产调度、资源分配、路径规划等问题中。

在实验中,我学会了如何将实际问题转化为整数规划模型,并通过MATLAB软件来求解模型。

通过对实验结果的分析,我更直观地了解了整数规划方法在实际问题中的应用效果。

在实验过程中,我还遇到了一些困难。

首先是模型建立的难度,问题分析和建模是整个求解过程的关键。

如果模型建立不准确,就会导致求解结果的不准确。

其次是模型求解的复杂性,整数规划问题求解难度较大,需要运用一些优化方法和工具进行求解。

最后是结果分析的复杂性,结果分析需要对求解结果和敏感性分析进行综合判断,需要一定的经验和专业知识。

数学实验报告整数规划

数学实验报告整数规划

一、实验目的1. 理解整数规划的概念及其应用领域。

2. 掌握整数规划问题的建模方法。

3. 熟悉求解整数规划问题的软件工具。

4. 分析整数规划问题的求解结果,评估模型的合理性。

二、实验背景整数规划是一种数学规划方法,用于求解含有整数变量的优化问题。

在实际应用中,整数规划广泛应用于物流、生产、金融、资源分配等领域。

本实验以一个简单的整数规划问题为例,介绍整数规划的基本原理和求解方法。

三、实验内容1. 问题背景某公司需要从两个供应商处采购A、B两种原材料,分别用于生产C、D两种产品。

供应商1提供的A原材料每吨价格为1000元,B原材料每吨价格为1500元;供应商2提供的A原材料每吨价格为1200元,B原材料每吨价格为1600元。

公司生产C产品每吨需要A原材料0.5吨,B原材料0.3吨,利润为2000元;生产D产品每吨需要A原材料0.2吨,B原材料0.4吨,利润为1500元。

公司每月最多可采购A 原材料50吨,B原材料30吨。

要求:(1)确定从两个供应商处采购A、B原材料的数量,使公司利润最大。

(2)求出满足条件的整数解。

2. 建立数学模型(1)变量设x1为从供应商1处采购A原材料的数量(吨),x2为从供应商2处采购A原材料的数量(吨),y1为从供应商1处采购B原材料的数量(吨),y2为从供应商2处采购B原材料的数量(吨),z为公司的总利润。

(2)目标函数最大化公司的总利润:Max z = 2000 (0.5 x1 + 0.2 x2) + 1500 (0.3 y1 + 0.4 y2)(3)约束条件① 采购的原材料数量限制:x1 + x2 ≤ 50y1 + y2 ≤ 30② 采购的原材料价格限制:1000 x1 + 1200 x2 ≤ 1000001500 y1 + 1600 y2 ≤ 150000③ 变量取值范围:x1, x2, y1, y2 ≥ 0x1, x2, y1, y2 为整数3. 求解整数规划问题(1)使用软件工具本实验采用Lingo软件求解整数规划问题。

整数性规划实验报告

整数性规划实验报告

整数性规划实验报告1. 引言整数性规划是数学规划中的一个重要分支,主要解决的是在最优化问题中,决策变量必须取整数取值时的求解方法。

它在实际应用中具有广泛的应用领域,例如物流路径优化、生产调度问题等。

本实验旨在探讨整数性规划的求解算法及其在实际问题中的应用。

2. 实验设计本实验选取了一个经典的旅行推销员问题(TSP)作为案例,考虑了一旦维度和30个城市的数据集。

在该问题中,推销员需要从起始城市出发,依次访问其他城市并最终回到起始城市,目标是找到一条最短的路径使得每个城市被访问一次。

由于路径的连续性要求和经典的TSP问题相比,该问题在理论上更为挑战。

在实验设计中,我们选择了两种常见的整数性规划求解算法进行比较。

分别是分支定界算法和遗传算法。

分支定界算法是一种穷举搜索的方法,通过树的剪枝来有效降低搜索的复杂度。

遗传算法则是通过借鉴生物进化的思想,将一个问题看做一个种群,通过选择、交配和变异等操作,逐代优化种群中的个体。

3. 实验步骤3.1 数据准备我们使用了一个维度为30的数据集,包含了30个城市的坐标信息。

这些数据用于描述城市之间的距离,以便在求解问题时使用。

3.2 分支定界算法分支定界算法是一种经典的整数性规划求解方法。

在该算法中,我们首先通过线性规划求解一个松弛问题,即将决策变量的整数要求去除,得到一个最优解。

然后,我们通过将问题分解为子问题,并在每个子问题上应用线性规划和剪枝策略来搜索整数解。

3.3 遗传算法遗传算法是一种启发式的优化算法,模拟了自然界中的进化过程。

在该算法中,我们构建了一个种群,其中每个个体代表了一个解。

通过选择、交配和变异等操作,不断迭代优化种群中的个体,最终找到一个最优解。

4. 实验结果与分析我们分别使用了分支定界算法和遗传算法来求解旅行推销员问题,并将它们的结果进行比较。

实验结果显示,分支定界算法在较短的时间内能够找到一个较优的解,而遗传算法则需要更多的迭代次数才能得到相同的结果。

实验一 线性规划求解、运输问题、整数规划求解

实验一 线性规划求解、运输问题、整数规划求解

西华大学上机实验报告一、实验目的掌握线性规划求解的基本方法,熟悉灵敏度分析的步骤和内容;掌握运输问题的模型,概念,求解方法;掌握整数规划的算法。

在熟悉lingo软件基本功能基础上,能熟练操作,正确完成模型求解过程及分析过程。

二、实验内容或设计思想1.lingo软件或运筹学实验软件的安装及菜单熟悉了解.2.lingo软件或运筹学实验软件应用内容之:任选几种不同类型的LP输入计算程序,运行求解;完成产销平衡的运输问题求解;求解任一整数规划。

三、实验环境与工具计算机、lingo软件四、实验过程或实验数据1用lingo求解线性规划某家具公司制造书桌、餐桌和椅子,所用的资源有三种:木料、木工和漆工。

生产数据如下表所示:用DESKS、TABLES和CHAIRS分别表示三种产品的生产量,建立LP模型。

max=45*desks+34*tables+20*chairs;8*desks+6*tables+chairs<=43;5*desks+2*tables+1.5*chairs<=20;2*desks+2*tables+.5*chairs<=8;tables<=5;求解这个模型,并激活灵敏性分析。

这时,查看报告窗口(Reports Window),可以看到如下结果。

Global optimal solution found.Objective value: 274.0000Infeasibilities: 0.000000Total solver iterations: 2Variable Value Reduced Cost DESKS 0.000000 23.50000 TABLES 1.000000 0.000000 CHAIRS 12.00000 0.000000 Row Slack or Surplus Dual Price1 274.0000 1.0000002 25.00000 0.0000003 0.000000 11.500004 0.000000 5.5000005 4.000000 0.000000 DESKS=0 , TABLES=1 , CHAIRS=12 , max=2742 用运筹学实验软件计算运输问题和整数规划问题(例子和过程参照教材)使用LINGO软件计算运输问题和整数规划问题model:!6发点8收点运输问题;sets:warehouses/wh1..wh6/: capacity;vendors/v1..v8/: demand;links(warehouses,vendors): cost, volume;endsets!目标函数;min=@sum(links: cost*volume);!需求约束;@for(vendors(J):@sum(warehouses(I): volume(I,J))=demand(J));!产量约束;@for(warehouses(I):@sum(vendors(J): volume(I,J))<=capacity(I));!这里是数据;data:capacity=55 50 51 42 41 52;demand=30 35 22 32 41 32 43 28;cost=6 2 6 7 4 2 9 54 95 3 8 5 8 25 2 1 9 8 4 3 36 67 3 9 2 7 12 3 9 5 7 2 6 55 5 2 3 8 1 4 3;enddataendGlobal optimal solution found.Objective value: 640.0000Infeasibilities: 0.000000Total solver iterations: 12Variable Value Reduced Cost CAPACITY( WH1) 55.00000 0.000000 CAPACITY( WH2) 50.00000 0.000000 CAPACITY( WH3) 51.00000 0.000000 CAPACITY( WH4) 42.00000 0.000000 CAPACITY( WH5) 41.00000 0.000000 CAPACITY( WH6) 52.00000 0.000000 DEMAND( V1) 30.00000 0.000000 DEMAND( V2) 35.00000 0.000000 DEMAND( V3) 22.00000 0.000000 DEMAND( V4) 32.00000 0.000000 DEMAND( V5) 41.00000 0.000000 DEMAND( V6) 32.00000 0.000000 DEMAND( V7) 43.00000 0.000000 DEMAND( V8) 28.00000 0.000000 COST( WH1, V1) 6.000000 0.000000 COST( WH1, V2) 2.000000 0.000000 COST( WH1, V3) 6.000000 0.000000 COST( WH1, V4) 7.000000 0.000000 COST( WH1, V5) 4.000000 0.000000 COST( WH1, V6) 2.000000 0.000000 COST( WH1, V7) 9.000000 0.000000 COST( WH1, V8) 5.000000 0.000000 COST( WH2, V1) 4.000000 0.000000 COST( WH2, V2) 9.000000 0.000000 COST( WH2, V3) 5.000000 0.000000 COST( WH2, V4) 3.000000 0.000000 COST( WH2, V5) 8.000000 0.000000 COST( WH2, V6) 5.000000 0.000000 COST( WH2, V7) 8.000000 0.000000 COST( WH2, V8) 2.000000 0.000000 COST( WH3, V1) 5.000000 0.000000 COST( WH3, V2) 2.000000 0.000000 COST( WH3, V3) 1.000000 0.000000 COST( WH3, V4) 9.000000 0.000000 COST( WH3, V5) 8.000000 0.000000 COST( WH3, V6) 4.000000 0.000000 COST( WH3, V7) 3.000000 0.000000 COST( WH3, V8) 3.000000 0.000000 COST( WH4, V1) 6.000000 0.000000 COST( WH4, V2) 6.000000 0.000000 COST( WH4, V3) 7.000000 0.000000 COST( WH4, V4) 3.000000 0.000000 COST( WH4, V5) 9.000000 0.000000COST( WH4, V8) 1.000000 0.000000 COST( WH5, V1) 2.000000 0.000000 COST( WH5, V2) 3.000000 0.000000 COST( WH5, V3) 9.000000 0.000000 COST( WH5, V4) 5.000000 0.000000 COST( WH5, V5) 7.000000 0.000000 COST( WH5, V6) 2.000000 0.000000 COST( WH5, V7) 6.000000 0.000000 COST( WH5, V8) 5.000000 0.000000 COST( WH6, V1) 5.000000 0.000000 COST( WH6, V2) 5.000000 0.000000 COST( WH6, V3) 2.000000 0.000000 COST( WH6, V4) 3.000000 0.000000 COST( WH6, V5) 8.000000 0.000000 COST( WH6, V6) 1.000000 0.000000 COST( WH6, V7) 4.000000 0.000000 COST( WH6, V8) 3.000000 0.000000 VOLUME( WH1, V1) 0.000000 5.000000 VOLUME( WH1, V2) 14.00000 0.000000 VOLUME( WH1, V3) 0.000000 5.000000 VOLUME( WH1, V4) 0.000000 6.000000 VOLUME( WH1, V5) 41.00000 0.000000 VOLUME( WH1, V6) 0.000000 2.000000 VOLUME( WH1, V7) 0.000000 6.000000 VOLUME( WH1, V8) 0.000000 6.000000 VOLUME( WH2, V1) 0.000000 1.000000 VOLUME( WH2, V2) 0.000000 5.000000 VOLUME( WH2, V3) 0.000000 2.000000 VOLUME( WH2, V4) 32.00000 0.000000 VOLUME( WH2, V5) 0.000000 2.000000 VOLUME( WH2, V6) 0.000000 3.000000 VOLUME( WH2, V7) 0.000000 3.000000 VOLUME( WH2, V8) 0.000000 1.000000 VOLUME( WH3, V1) 0.000000 4.000000 VOLUME( WH3, V2) 10.00000 0.000000 VOLUME( WH3, V3) 22.00000 0.000000 VOLUME( WH3, V4) 0.000000 8.000000 VOLUME( WH3, V5) 0.000000 4.000000 VOLUME( WH3, V6) 0.000000 4.000000 VOLUME( WH3, V7) 19.00000 0.000000 VOLUME( WH3, V8) 0.000000 4.000000 VOLUME( WH4, V1) 0.000000 3.000000 VOLUME( WH4, V2) 0.000000 2.000000 VOLUME( WH4, V3) 0.000000 4.000000 VOLUME( WH4, V4) 0.000000 0.000000 VOLUME( WH4, V5) 0.000000 3.000000 VOLUME( WH4, V6) 4.000000 0.000000 VOLUME( WH4, V7) 0.000000 2.000000 VOLUME( WH4, V8) 28.00000 0.000000 VOLUME( WH5, V1) 30.00000 0.000000 VOLUME( WH5, V2) 11.00000 0.000000 VOLUME( WH5, V3) 0.000000 7.000000 VOLUME( WH5, V4) 0.000000 3.000000 VOLUME( WH5, V5) 0.000000 2.000000 VOLUME( WH5, V6) 0.000000 1.000000 VOLUME( WH5, V7) 0.000000 2.000000 VOLUME( WH5, V8) 0.000000 5.000000 VOLUME( WH6, V1) 0.000000 3.000000 VOLUME( WH6, V2) 0.000000 2.000000VOLUME( WH6, V5) 0.000000 3.000000VOLUME( WH6, V6) 28.00000 0.000000VOLUME( WH6, V7) 24.00000 0.000000VOLUME( WH6, V8) 0.000000 3.000000Row Slack or Surplus Dual Price1 640.0000 -1.0000002 0.000000 -3.0000003 0.000000 -4.0000004 0.000000 -3.0000005 0.000000 -3.0000006 0.000000 -6.0000007 0.000000 -2.0000008 0.000000 -5.0000009 0.000000 -1.00000010 0.000000 2.00000011 18.00000 0.00000012 0.000000 2.00000013 10.00000 0.00000014 0.000000 1.00000015 0.000000 1.000000最优方案为产地A1供应销地B220、销地B542,产地A2供应销地B432,产地A3供应销地B29、销地B322、销地B720,产地A4供应销地B63、销地B828,产地A5供应销地B132、销地B29,产地A6供应销地B629、B723。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x4A+x4D= 1.15x2A+ 1.06x3D;
x5D= 1.15x3A+ 1.06x4D;
x1A≥ 40000y1A,
x1A≤ 200000y1A,
x3B≥ 30000y3B,
x3B≤ 50000y3B;
yiA,yiB= 0或1,i= 1,2,3,4,5
x2C= 0,20000,40000,60000,80000
实验结果报告与实验总结:
如果用四舍五入法或去尾法对线性规划的非整数解加以处理,求得的解不一定是线性规划问题的最优整数解。因此解决这类问题必须用整数规划的方法。其中,分支定界法和割平面法是两种比较常用的整数规划方法。
分枝定界:计算效率高,应用广泛;
割平面法:有理论意义,但计算效率较低
思考与深入:
处理个别实际问题时,如果允许目标函数值在某一误差范围内,有时也可采用“舍入取整”得到的整数可行解作为原题整数最优解的近似。这样可节省求解的人力、物力和财力。
教师评语:
X2C60000.00 0.000000
X3B 49905.66 0.000000
X5D 0.000000 0.000000
X1A43396.23 0.000000
X1D 56603.77 0.000000
X2A0.000000 0.6617925E-01
X2D 0.000000 0.3187925E-01
5 50.00000 0.000000
6 0.000000 0.000000
7 0.000000 0.000000
解得,最大目标函数值为300,最优解为x1=100,x2=0,x3=0。也就是说生产100台小容器可得最大利润300万元。
例2:已知
项目A:从第一年到第四年每年年初需要投资,并于次年末回收本利115%,但要求第一年投资最低金额为4万元,第二、三、四年不限;
实验所用软件及版本:
LINDO9.0
主要内容(要点):
1.复习整数规划的分支定界法,熟悉分支定界法的步骤
2.掌握lingo的整数规划解法
3.用整数规划的方法解决下面关于固定成本和分布系统设计的例题
实验过程记录(含:基本步骤、主要程序清单及异常情况记录等):
例1:高压容器公司制造小、中、大三种尺寸的金属容器,所用资源为金属板、劳动力和机器设备,制造一个容器所需的各种资源的数量如表所示。不考虑固定费用,每种容器售出一只所得的利润分别为4万元、5万元、6万元,可使用的金属板有500吨,劳动力有300人/月,机器有100台/月,此外不管每种容器制造的数量是多少,都要支付一笔固定的费用:小号是l00万元,中号为150万元,大号为200万元。现在要制定一个生产计划,使获得的利润为最大。
x3<=M*y3;
@GIN(x1);@GIN(x2);@GIN(x3);
@BIN(y1);@BIN(y2);@BIN(y3);
end
(转下页)
实验过程记录(含:基本步骤、主要程序清单及异常情况记录等)(接上页):
Global optimal solution found.
Objective value: 300.0000
项目B:第三年初需要投资,到第五年末能回收本利128%,但规定最低投资金额为3万元,最高金额为5万元;
项目C:第二年初需要投资,到第五年末能回收本利140%,但规定其投资额或为2万元或为4万元或为6万元或为8万元。
项目D:五年内每年初可购买公债,于当年末归还,并加利息6%,此项投资金额不限。
该部门现有资金10万元,问它应如何确定给这些项目的每年投资额,使到第五年末拥有的资金本利总额为最大?
Extended solver steps: 0
Total solver iterations: 4
Variable Value Reduced Cost
M 150.0000 0.000000
X1 100.0000 -4.000000
X2 0.000000 -5.000000
X3 0.000000 -6.000000
Y1 1.000000 100.0000
Y2 0.000000 150.0000
Y3 0.000000 200.0000
Row Slack or Surplus Dual Price
1 300.0000 1.000000
2 300.0000 0.000000
3 100.0000 0.000000
4 0.000000 0.000000
2掌握用Matlab或LINDO求解整数规划的方法和步骤,学会利用Matlab或LINDO求解具体整数规划问题。
3.锻炼应用所学知识解决综合性问题的能力
实验原理与数学模型:
整数线性规划是一类特殊的线性规划,在实际生活中大量存在。整数规划问题的求解,通常是这样的一个过程:首先,去掉整数约束,借助普通线性规划求解的单纯形方法得到问题的一个最优解,然后进行整数约束判定,如果得到的是整数最优解,结束;否则,利用分支或者割平面方法去掉不满足整数约束的最优解,重新求解,知道得到问题的整数最优解或判定问题无解为止。本实验的主要目的是帮助学生加深对这一求解过程的认识和理解,掌握一种人机结合的半自动化的问题求解模式,并尝试将这个过程尽量多的自动化。
这样我们可建立如下的数学模型:
max z = 4x1 + 5x2 + 6x3 - 100y1 - 150y2 - 200y3
s.t. 2x1 + 4x2 + 8x3≤500
2x1 + 3x2 + 4x3≤300
x1 + 2x2 + 3x3≤100
xi≤M yi,i =1,2,3,M充分大
xi≥0 yi为0-1变量,i = 1,2,3
数学实验报告
实验序号:日期:2012年6月8日
班级
水文1001
姓名
熊元武
学号
1101550120
实验
名称
整数规划之分支定界、割平面
问题背景描述:
求整数解的线性规划问题,不是用四舍五入法或去尾法对线性规划的非整数解加以处理都能解决的,而要用整数规划的方法加以解决。
实验目的:
1.理解整数线性规划和普通线性规划的区别,体会整数规划求解的分支定界法、割平面法与隐枚举方法的思想,掌握整数规划求解的方法与步骤。
X3A0.000000 0.6100000E-01
X3D 0.000000 0.6100000E-01
X4D 0.000000 0.2640000E-01
Y1A1.000000 0.000000
Y3B 1.000000 0.000000
Y2C3.000000 -226.4151
解得,最优值为147879.2
x4A+x4D=1.15*x2A+1.06*x3D;
x5D=1.15*x3A+1.06*x4D;
x1A>=40000*y1A;
x1A<=200000*y1A;
x3B>=30000*y3B;
x3B<=50000*y3B;
@BIN(y1A);@BIN(y3B);@GIN(y2C);
x2C=20000*y2C;
解:设xiA、xiB、xiC、xiD ( i=1,2,3,4,5)分别表示第i年年初给项目A,B,C,D的投资额;设yiA,yiB,是0-1变量,并规定取1时分别表示第i年给A、B投资,否则取0(i = 1, 2, 3, 4, 5)。我们建立如下的决策变量:
第1年第2年第3年第4年第5年
A x1Ax2Ax3Ax4A
Bx3B
Cx2C
D x1D x2D x3D x4Dx5D
实验过程记录(含:基本步骤、主要程序清单及异常情况记录等)(接上页):
maxz= 1.15x4A+ 1.40x2C+ 1.28x3B+ 1.06x5D
s.t.x1A+x1D= 100000;
x2A+x2C+x2D= 1.06x1D;
x3A+x3B+x3D= 1.15x1A+ 1.06x2D;
y2C<=4;
end
Global optimal solution found.
Objective value: 147879.2
Extended solver steps: 0
Total solver iterations: 8
Variable Value Reduced Cost
X4A0.000000 0.000000
解:设x1,x2,x3分别为小号容器、中号容器和大号容器的生产数量。
各种容器的固定费用只有在生产该种容器时才投入,为了说明固定费用的这种性质,设yi= 1(当生产第i种容器,即xi>0时)或0(当不生产第i种容器即xi= 0时)。
引入约束xi≤M yi,i =1,2,3,M充分大,以保证当yi= 0时,i= 0。
xiA,xiB,xiC,xiD≥ 0 (i= 1、2、3、4、5)
下面是lingo程序:
model:
max=1.15*x4A+1.40*x2C+1.28*x3B+1.06*x5D;
x1A+x1D=100000;
x2A+x2C+x2D=1.06*x1D;
x3A+x3B+x3D=1.15*x1A+1.06*x2D;
下面是lingo程序:
model:
data:
M=150;
enddata
max=4*x1+5*x2+6*x3-100*y1-150*y2-200*y3;
2*x1+4*x2+8*x3<=500;
相关文档
最新文档