最优化课程设计matlab

合集下载

最优化方法课程设计

最优化方法课程设计

四川理工学院《最优化方法》课程论文题目:基于Matlab的单纯形法仿真实验姓名:刘宇泽专业:信息与计算科学班级:一班学号:12071030113完成日期:2015年6月27日四川理工学院理学院二O一五年六月摘要线性规划是运筹学中研究最早、发展最快、应用广泛、方法较成熟的一个重要分支,它是辅导人们进行科学管理的一种数学方法。

是研究线性约束条件下线性目标函数的极值问题的数学理论和方法。

为了得到线性目标函数的极值,我们有多重方法。

本文采用单纯形算法求解线性规划问题的最优解,并通过Matlab软件编写程序进行求解。

最终得到线性规划问题的最优解,进一步验证了求解问题的精度,较良好。

关键词:线性规划单纯性算法Matlab程序目录一、问题提出 (1)二、设计思路和步骤 (1)三、程序设计 (2)3.1问题分析 (2)3.2 算法设计 (2)3.3 程序编制 (3)3.4算法框图 (4)四、结果分析 (5)4.1设计结果 (5)4.2 进一步讨论和验证 (5)五、收获和总结 (5)六、结束语 (6)6.1设计的优缺点 (6)6.2设计工作展望 (6)6.3学习心得与体会 (6)一、 问题提出本文运用单纯形算法解下列问题:,0,0,0,43252-2.5.53.26.00.2)(min 43214321432143214321≥≥≥≥≤-++≥+++≤--+-+--=x x x x x x x x x x x x x x x x ts x x x x x f ,,二、设计思路和步骤2.1设计思路单纯形法的基本思路:根据单纯形法的原理,在线性规划问题中,决策变量(控制变量)x1,x2,…x n 的值称为一个解,满足所有的约束条件的解称为可行解。

使目标函数达到最大值(或最小值)的可行解称为最优解。

这样,一个或多个最优解能在整个由约束条件所确定的可行区域内使目标函数达到最大值(或最小值)。

求解线性规划问题的目的就是要找出最优解。

最优化方法及其matlab程序设计

最优化方法及其matlab程序设计

最优化方法及其matlab程序设计
最优化方法是一种利用各种技术,以提高某项工作,工程或系统
的效率为目标,并让其在某些给定基准测试中改善性能的过程。

它可
以用来提高计算机系统的性能,减少加工时间,提高生产率,等等。

Matlab是一种非常适用于最优化的程序设计语言,它拥有许多强
大的分析功能,例如数值分析、线性规划、非线性规划、二次规划、
优化算法、深度学习、图形处理和仿真等。

因此,Matlab可以帮助用
户找到最优解决方案,比如解决所谓的NP难问题,这些问题很难在
“合理”时间内找到最优解。

要在matlab中实现最优化方法,首先要定义和描述优化问题。

然后,选择合适的优化器。

一般来说,FMINCON函数可以满足大多数最优
化问题的要求,因为它可以通过求解约束和非线性问题来实现最优化。

在函数中,用户可以指定具体的约束条件、目标函数、初始解和其他
一些参数,以便更好地进行最优化。

此外,matlab中还提供了其他一些有用的优化函数,可以用于解
决更复杂的问题,包括FMINUNC、FMINBND等。

这些函数都可以实现更
高级的最优化算法,例如迭代算法、模拟退火算法、遗传算法等。

最后,用户还可以使用matlab自带的toolbox来进行最优化,例
如Optimization Toolbox。

这个工具包可以帮助用户调整参数,从而
实现最优解。

同时,它还提供了有关具体优化策略的解释,以便了解
该策略的实现方法以及它的应用范围。

总的来说,matlab可以实现各种最优化方法,无论是简单的还是
复杂的,都可以通过它找到最佳解决方案。

最优化课程设计

最优化课程设计

最优化课程设计一、课程目标知识目标:1. 学生能理解并掌握本章节最优化问题的基本概念,包括线性规划、整数规划和非线性规划等;2. 学生能够运用数学模型解决实际问题,并进行合理优化;3. 学生掌握常用的最优化方法,如单纯形法、分支定界法和梯度下降法等。

技能目标:1. 学生能够运用数学软件(如MATLAB、Excel等)进行最优化问题的求解;2. 学生通过小组合作,提高团队协作能力和沟通表达能力;3. 学生具备分析实际问题时,能够运用所学知识进行问题抽象和建模的能力。

情感态度价值观目标:1. 学生培养对数学学科的热爱,增强对最优化问题的兴趣;2. 学生通过解决实际最优化问题,培养解决问题的信心和耐心;3. 学生认识到数学知识在实际生活中的广泛应用,提高学习的积极性和主动性。

课程性质:本课程为数学学科的一章,主要研究最优化问题的基本概念、方法及其应用。

学生特点:学生为高中年级,具备一定的数学基础,对数学问题有一定的分析和解决能力。

教学要求:教师需结合学生特点,注重启发式教学,引导学生主动探究,提高学生的实践操作能力。

在教学过程中,将课程目标分解为具体的学习成果,以便于后续的教学设计和评估。

二、教学内容本章节教学内容主要包括以下几部分:1. 最优化问题的基本概念:介绍最优化问题的定义、分类和数学描述,包括线性规划、整数规划和非线性规划等。

2. 最优化方法:详细讲解以下几种常用最优化方法:- 单纯形法:解决线性规划问题;- 分支定界法:解决整数规划问题;- 梯度下降法:解决非线性规划问题。

3. 数学软件应用:结合实际案例,教授学生如何使用MATLAB、Excel等软件进行最优化问题的求解。

4. 实际案例分析与建模:选取与学生生活密切相关的实际案例,引导学生进行问题分析、建模和求解。

教学大纲安排如下:第一课时:最优化问题的基本概念;第二课时:线性规划及单纯形法的应用;第三课时:整数规划及分支定界法的应用;第四课时:非线性规划及梯度下降法的应用;第五课时:数学软件在求解最优化问题中的应用;第六课时:实际案例分析、建模与求解。

使用Matlab进行优化与最优化问题求解

使用Matlab进行优化与最优化问题求解

使用Matlab进行优化与最优化问题求解引言:优化与最优化问题在科学、工程和金融等领域中具有重要的应用价值。

在解决这些问题时,选择一个合适的优化算法是至关重要的。

Matlab提供了许多用于求解优化问题的函数和工具箱,能够帮助我们高效地解决各种复杂的优化与最优化问题。

一、优化问题的定义优化问题是通过选择一组最佳的决策变量值,使目标函数在约束条件下达到最优值的问题。

通常,我们将优化问题分为线性优化问题和非线性优化问题。

在Matlab中,可以使用线性规划(Linear Programming)工具箱和非线性规划(Nonlinear Programming)工具箱来解决这些问题。

其中,线性规划工具箱包括linprog函数,而非线性规划工具箱则包括fmincon和fminunc等函数。

二、线性规划问题的求解线性规划问题的数学模型可以表示为:```minimize f'*xsubject to A*x ≤ blb ≤ x ≤ ub```其中,f是目标函数的系数矩阵,A是不等式约束条件的系数矩阵,b是不等式约束条件的右侧向量,lb和ub是变量的上下界。

在Matlab中,可以使用linprog函数来求解线性规划问题。

该函数的调用格式为:```[x, fval, exitflag, output] = linprog(f, A, b, Aeq, beq, lb, ub)```其中,x是最优解向量,fval是目标函数的最优值,exitflag标志着求解的结果状态,output包含了详细的求解过程。

三、非线性规划问题的求解非线性规划问题的数学模型可以表示为:```minimize f(x)subject to c(x) ≤ 0ceq(x) = 0lb ≤ x ≤ ub```其中,f(x)是目标函数,c(x)和ceq(x)分别是不等式约束条件和等式约束条件,lb和ub是变量的上下界。

在Matlab中,可以使用fmincon函数来求解非线性规划问题。

Matlab优化算法以及应用案例分析

Matlab优化算法以及应用案例分析

Matlab优化算法以及应用案例分析引言Matlab是一款功能强大的数学软件,以其丰富的功能和灵活的编程环境而受到广泛的应用。

在数学建模和优化问题中,Matlab优化算法是一个重要的工具。

本文将介绍Matlab优化算法的基本原理和常见应用案例分析。

一、Matlab优化算法的基本原理1.1 最优化问题的定义在开始介绍优化算法之前,我们首先需要了解什么是最优化问题。

最优化问题可以定义为在一定的约束条件下,找到使得目标函数达到最大或者最小的变量取值。

最优化问题可以分为无约束问题和约束问题两种。

1.2 Matlab优化工具箱Matlab提供了丰富的优化工具箱,其中包含了许多优化算法的实现。

这些算法包括无约束优化算法、约束优化算法、全局优化算法等。

这些工具箱提供了简单易用的函数接口和丰富的算法实现,方便用户在优化问题中使用。

1.3 优化算法的分类优化算法可以分为传统优化算法和启发式优化算法两类。

传统优化算法包括梯度下降法、牛顿法、共轭梯度法等,它们利用目标函数的一阶或二阶导数信息进行搜索。

而启发式优化算法则通过模拟生物进化、遗传算法、蚁群算法等方法来进行搜索。

二、Matlab优化算法的应用案例分析2.1 无约束优化问题无约束优化问题是指在没有约束条件的情况下,找到使得目标函数达到最小或最大值的变量取值。

在Matlab中,可以使用fminunc函数来求解无约束优化问题。

下面以一维函数的最小化问题为例进行分析。

首先,我们定义一个一维的目标函数,例如f(x) = 3x^2 - 4x + 2。

然后使用fminunc函数来求解该问题。

代码示例:```matlabfun = @(x)3*x^2 - 4*x + 2;x0 = 0; % 初始点[x, fval] = fminunc(fun, x0);```在上述代码中,fun是目标函数的定义,x0是初始点的取值。

fminunc函数将返回最优解x和目标函数的最小值fval。

基于MATLAB环境下实现最优化方法

基于MATLAB环境下实现最优化方法

基于MTLAB 环境下实现最优化方法——阻尼牛顿法1 优化设计法优化设计(Optimal Design )是现代先进的设计方法,这种设计方法是把数学规划理论与计算方法应用于实际设计中,按照预定的目标,借助计算机的运算寻求最优设计方案的有关参数,从而获得最好的技术经济效果。

优化设计反映出人们对于设计规律这一客观世界认识的深化。

设计上的“最优值”是指一定条件影响下所能得到的最佳设计值。

最优值是一个相对的概念,在大多数的情况下,可以用最大值或最小值来表示。

概括起来,优化设计的工作包括以下两部分内容:(1)将实际的设计问题的物理模型抽象为数学模型(用数学公式来表示)。

建立数学模型时要选取设计变量,列出目标函数,并且给出约束条件。

目标函数是设计问题所需求的最优指标与设计变量之间的函数关系式。

(2)选取适当的最优化方法,求解数学模型。

也可归结为在给定的条件(即约束条件)下,求出目标函数的极值或者最优值问题。

最优化问题的一般形式为:min ()..f x s t x X ∈其中n x R ∈为决策变量,f (x)为目标函数,n X R ⊂为约束集或可行域。

如果n X R ⊂,则上述问题称为无约束最优化问题,否则,称为约束最优化问题。

对于无约束最优化问题,也已经提出了不少数值求解方法。

例如共扼梯度法、牛顿法、Guass 牛顿法、牛顿型方法、拟牛顿法、非精确牛顿法、广义拟牛顿法等。

2 牛顿法与阻尼牛顿法牛顿法是求解无约束优化问题最古老的算法之一。

但到目前为止,它的改进形式仍不失为最有效的算法之一,因为它最大的优点是收敛速度比较快。

由于一个函数在一点附近的性态与二次函数很接近,所以往往通过建立二次摸型来构造有效的算法,最直接而自然的二次模型,显然就是它的泰勒展开式中只到二次项的部分。

由此,牛顿法的基本思想是:设已知f (x)的极小点x*的一个近似()k x ,在()k x 附近将f(x)作泰勒展开有:()()()()()12k k k T T k k f x q f g H δδδδδ+≈=++ 其中:()()()()()()()()()2,,,k k k k k k k x x f f x g f x H f x δ=-==∇=∇若k H 正定,则()k q δ有极小点存在,设其为()k δ,并令()()()1k k k x x δ+=+ 便得到f (x)的极小点的一个新的近似()1k x +,由于()k q δ为二次凸函数,它的极小点很容易求,事实上,令()()0k k k q H g δδ∇=+=则有:()()1k k k H g δ-=-当用迭代式()()()1k k k x x δ+=+时,且其中()k δ由上式定义时,这种迭代便称为牛顿迭代,而算法称为牛顿法。

Matlab最优化计算方法

Matlab最优化计算方法

问题
min z 13 9 10 11 12 8X
0 0 0.4 1.1 1 0 800 X 0 0 0 0 . 5 1 . 2 1 . 3 900
x1 x2 x 3 ,X 0 x4 x 5 x 6
解: 编写M文件如下: c=[-7 -5]; A=[3 2; 4 6; 0 7]; b=[90;200;210]; Aeq=[]; beq=[]; vlb=[0,0]; vub=[inf,inf]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
例3 问题一的解答
改写为: S.t.
min z (7
3 4 0 2 x1 6 x 7 2
x1 5) x 2

s.t .
90 2 0 0 2 1 0
x1 0 0 x 2
1 0 0 1 0 0 400 0 1 0 0 1 0 X 600 0 0 1 0 0 1 500
编写M文件如下: f = [13 9 10 11 12 8]; A = [0.4 1.1 1 0 0 0 0 0 0 0.5 1.2 1.3]; b = [800; 900]; Aeq=[1 0 0 1 0 0 010010 0 0 1 0 0 1]; beq=[400 600 500]; vlb = zeros(6,1); vub=[]; [x,fval] = linprog(f,A,b,Aeq,beq,vlb,vub)
结果:
x= 0.0000 600.0000 0.0000 400.0000 0.0000 500.0000 fval =1.3800e+004 即在甲机床上加工600个工件2,在乙机床上加工400个工件1、 500个工件3,可在满足条件的情况下使总加工费最小为13800。

MATLAB最优化方法程序

MATLAB最优化方法程序

共轭梯度法程序共轭梯度法一.实验目的:(1).熟悉使用共轭梯度法求解无约束非线性规划问题的原理;(2).在掌握原理的基础上熟练运用此方法解决问题;(3).学会利用计算机语言编写程序来辅助解决数学问题;(4).解决问题的同时分析问题,力求达到理论与实践的相统一;(5).编写规范的实验报告.二.实验原理:<算法原理>:共轭梯度法为求解线性方程组而提出。

后来,人们把这种方法用于求解无约束最优化问题,使之成为一种重要的最优化方法。

共轭梯度法的基本思想是把共轭性与最速下降方法相结合,利用已知点处的梯度构造一组共轭方向,并沿这组方向进行搜索,求出目标函数的极小点。

根据共轭方向的基本性质,这种方法具有二次终止性。

在各种优化算法中,共轭梯度法是非常重要的一种。

其优点是所需存储量小,具有步收敛性,稳定性高,而且不需要任何外来参数。

共轭方向无约束最优化方法的核心问题是选择搜索方向.在本次实验中,我们运用基于共轭方向的一种算法—共轭梯度法三.算法流程图:四.实验结果:(1).实验函数f=(3*x1-cos(x2*x3)-1/2)^2+(x1^2-81*(x2+0.1)+sin(x3)+1.06)^2+(exp(-x1*x2)+20*x3+ 1/3*(10*3.14159-3))^2;(2).源程序:syms x1 x2 x3 r;f=(3*x1-cos(x2*x3)-1/2)^2+(x1^2-81*(x2+0.1)+sin(x3)+1.06)^2+(exp(-x1*x2)+20* x3+1/3*(10*3.14159-3))^2;x=[x1,x2,x3];df=jacobian(f,x);df=df.';error=0.000001;x0=[0,0,0]';g1=subs(df,x,x0);k=0;while(norm(g1)>error)if k==0d=-g1;elsebta=g1'*g1/(g0'*g0);d=-g1+bta*d0;endy=subs(f,x,x0+r*d);result=jintuifa(y,r);result2=gold(y,r,result);step=result2;x0=x0+step*d;g0=g1;g1=subs(df,x,x0);d0=d;k=k+1;end;kx0min=subs(f,[x1 x2 x3],x0)(3).实验结果k =26x0 =0.4996-0.0900-0.5259min =1.1496e-018(4).结果分析:由FR法得到的最优解为(0.4996, -0.0900, -0.5259),迭代的次数为32,由于精度的降低(ε= 6101-),实际证明对结果也有一定的影响。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作业:1.用薄钢板制造一体积5m 3,长度不小于4m ,无上盖的货箱,要求钢板耗量最小。

确定货箱的长x 1、宽x 2和高x 3。

试列出问题的数学模型。

解:假设钢板为单位厚度,不考虑钢板焊接或连接耗钢量及相关劳工费用。

设y 为货箱的钢板消耗量,则此问题的数学模型如下:min y= x 1 x 2+2 x 1 x 3+2 x 2 x 3s.t. x 1 x 2 x 3=5x 1>4 x 1 ,x 2 ,x 3>02.将下面的线性规划问题表示为标准型并用单纯形法求解max f=x 1+2x 2+x 3s .t .2x 1+x 2-x 3≤2 -2x 1+x 2-5x 3≥-6 4x 1+x 2+x 3≤6 x i ≥0 i=1,2,3 解:先化为标准型:首先,将第二个约束条件两边乘以(-1),再分别对三个约束不等式添加非负的松弛变量654,,x x x ,即可化为如下标准型:3212min x x x f ---=⎪⎪⎩⎪⎪⎨⎧=≥=+++=++-=+-+6,5,4,3,2,1,06465222..632153214321i x x x x x x x x x x x x x t s i 列成表格:2 ○1 -1 1 0 0 2 2 -1 5 0 1 0 6 4 1 1 0 0 1 6 -1 -2* -1 0 0 0 0可见此表已具备1、2、3三个特点。

首先从底行中选元素-2,再在第二列三个元素中,由2/1,6/1,6/1最小者决定选第一行第二列的元素1,标以记号,迭代一次得2 1 -1 1 0 0 2 4 0 ④ 1 1 0 8 2 0 2 -1 0 1 43 0 -3* 2 0 0 4再从底行中选元素-34再迭代一次得3 1 0 5/4 1/4 0 4 1 0 1 1/4 1/4 0 2 0 0 0 -3/2 -1/2 1 0 6 0 0 11/4 3/4 0 10此时,所有的检验数均为正,停止迭代,最优解为:()0,0,0,2,4,0*=x ,最优值为:102142*-=⨯-+⨯-=Z ;3. 试用DFP 变尺度法求解下列无约束优化问题。

min f (X )=4(x 1-5)2+(x 2-6)2取初始点X=(8,9)T ,梯度精度ε=0.01。

解:取H 0=I ,G =⎥⎦⎤⎢⎣⎡2008,初始值为x )(0=(8,9)T, )(f x ∇=⎥⎦⎤⎢⎣⎡--)62(2)51(8x x 由x )(0=(8,9)T , )(f 0)(x ∇=⎥⎦⎤⎢⎣⎡624 )(f 0)(x ∇=24.7386d )(0=-)(f 0)(x ∇=[-24,-6]T x )(1= x )(0+0αd )(0, 其中0α可由min f(x )(0+0αd )(0)=min[4(8-240α-5)2+(9-60α-6)2]利用必要条件ααd d f )x (d )0(0(0)+=-24×8(3-240α)+2×(-6)(3-60α)=46800α-612=0求出 0α=0.13077x )(1=⎥⎦⎤⎢⎣⎡98-0.13077⎥⎦⎤⎢⎣⎡624=⎥⎦⎤⎢⎣⎡21538.886152.4 )(f 1)(x ∇=⎥⎦⎤⎢⎣⎡43076.410784.1- 以下作第二次迭代1δ= x )(1- x )(0=⎥⎦⎤⎢⎣⎡78462.0-13848.3- 1γ=)(f 1)(x ∇-)(f 0)(x ∇=⎥⎦⎤⎢⎣⎡56924.1-10784.25- H 1=H 0+1111γδδδT T -1010110γγγγH H H T T11γδT = []78462.013848.3--,⎥⎦⎤⎢⎣⎡--56924.110784.25 = 80.00317 101γγH T = 11γγT = 632.86614 T 11δδ =⎥⎦⎤⎢⎣⎡--78462.013848.3[-3.13848,-0.78462]=⎥⎦⎤⎢⎣⎡61563.046251.246251.285006.9H 0011H T γγ = T 11γγ = ⎥⎦⎤⎢⎣⎡46251.240023.3940023.3940363.630 1H = ⎥⎦⎤⎢⎣⎡--00381.103148.003148.012701.0 (1)d = -1H )(f 1)(x ∇=⎥⎦⎤⎢⎣⎡-48252.428019.0 令)2(x= x )(1+)1(1d α,利用ααd d f )x (d )1(1(1)+ =0,求得1α=0.49423所以 )2(x= x )(1+)1(49423.0d =⎥⎦⎤⎢⎣⎡99998.500000.5 由于此时()()ε<=∇02x f ,故停止迭代,得到极小近似点()()Tx x 6,52*==;x )(2即为最优解在matlab 命令窗口输入:x0=[8 9];[x,fval]=fminsearch('4*(x(1)-5).^2+(x(2)-6).^2',x0)回车得到: x =5.00006.0000 fval = 1.5825e-009 其最优解为:x 1= 5,x 2=6,f=1.5825e-0094. 某厂生产甲乙两种口味的饮料,条件如下:因条件所限,甲饮料产量不能超过8百箱。

问如何安排生产计划,即两种饮料各生产多少使获利最大。

(要求:1.建立数学模型,并求解。

2.用mat lab编写程序)解:(1)假设:只单纯追求利润最大,不考虑风险、时间等其他因素;预计获利正确;生产计划应为整数倍;(2)建模:设x1为对甲种口味饮料的安排生产的百箱数,x2为对乙种口味饮料的安排生产的百箱数,则预计投资获利R=10 x1+9 x2建立如下模型:max R=10x1+9x2s.t.6x1+5x2≤6010x1+20x2≤150x1≤8x1,x2≥0 且为整数化为标准型为min R=-10x1-9x2s.t. 6x1+5x2+x3=6010x1+20x2+x4=150x1+x5=8xi≥0 i=1,2,3,4,5列成表格6 5 1 0 0 6010 20 0 1 0 150○1 0 0 0 1 8-10 -9 0 0 0 0可见此表已具备1、2、3三个特点。

首先从底行中选元素-10,再在第二列三个元素中,由60/6,150/10,8/1最小者决定选第三行第一列的元素1,标以记号,迭代一次得0 ○5 1 0 -6 120 20 0 1 -10 701 0 0 0 1 80 -9 0 0 10 80再从底行中选元素-9,和在第二列正元素中,由12/5、70/20中较小者选5再迭代一次得0 1 1/5 0 -6/5 12/50 0 -4 1 14 221 0 0 0 1 80 0 9/5 0 -4/5 508/5在迭代一次得0 1 -1/7 3/35 0 30/70 0 -2/7 1/14 1 11/71 0 2/7 -1/14 0 45/70 0 11/7 2/35 0 720/7这时第4个特点已具备,故终止。

从表中读出最优解:x2=30/7=4.28571, x5=11/7, x1=45/7=6.42857, x3= x4=0.若把引进的松弛变量略去,则最优解为x*=(6.42857,4.28571)T .最优解为R*=720/7(3)求解应用matlab软件包,编程求得结果:在matlab命令窗口输入:f=[-10;-9];A=[6 5;10 20;1 0];b=[60 150 8];lb=[0 0];[x,fval]=linprog(f,A,b,[],[],lb)回车得到:x =6.42864.2857fval =-102.8571不符合整数解要求,确定分支x1≤6和x1≥7在matlab命令窗口输入:f=[-10;-9];A=[6 5;10 20;1 0];b=[60 150 6];lb=[0 0];[x,fval]=linprog(f,A,b,[],[],lb)回车得到:x =6.00004.5000fval =-100.5000不符合整数解要求,确定分支x1≤6和x2≤4在matlab命令窗口输入:f=[-10;-9];A=[6 5;10 20];b=[60 150];lb=[0 0];ub=[6 4]; [x,fval]=linprog(f,A,b,[],[],lb,ub)回车得到:x =6.00004.0000fval =-96.0000确定分支x1≤6和x2≤5时x =5.00005.0000fval =-95.0000确定分支x1≥7时x =8.00002.0000fval =-98.0000此时,比较可得出最优解为:x1=8(百箱),x2=2(百箱),R=98(万元)由于甲种口味饮料每百箱所需工人较少,且产生利润较高,而工人数量又较为充足,所以生产计划也较乙种口味饮料稍多一些,这是较为符合实际的。

对于整数线性规划应用Lingo软件包可方便求得。

在模型窗口中输入如下代码:max=10*x1+9*x2;6*x1+5*x2<=60;10*x1+20*x2<=150;x1<=8;@GIN(x1);@GIN(x2);然后点击求解:x1=8,x2=2,max=985.某家具厂要安排一周的生产计划,产品是桌子和椅子。

制作一张桌子需4m2木板及时性20小时的工时,制作一只椅子需6m2木板及18小时的工时,每周能拥有的木板是600m2,可利用的工时是400小时;每张桌子的利润是50元,每只椅子的利润是60元。

按合同每周至少要交付8张桌子和5只椅子,并假定所有的产品都能够销售出去。

问:该厂每周生产桌子和椅子的数量分别是多少时,能获得最大利润?(要求:1.建立数学模型,并求解。

2.用mat lab编写程序)解:(1)假设:只单纯追求利润最大,不考虑风险、时间等其他因素;所有的产品都能够销售出去;预计获利正确;生产计划应为整数倍;(2)建模:设x1为每周生产桌子数,x2为每周生产椅子数,则预计投资获利R=50 x1+60 x2建立如下模型:max R=50x1+60x2s.t.4x1+6x2≤60020x1+18x2≤400x1≥8x2≥5x i∈N i=1,2标准型为:min R=-50x1-60x2s.t.4x1+6x2≤60020x1+18x2≤400 x1≥8x2≥5x i∈N i=1,2引进新变量y1= x1-8替代原问题中的x1,引进新变量y2= x2 -5替代原问题中的x2,化为标准型为min z=-50 y1-60 y2-700s.t. 4 y1+6 y2+y3=53820 y1+18 y2+y4=150yi≥0 i=1,2,3,4列成表格4 6 1 0 53820 18 0 1 150-50 -60 0 0 700可见此表已具备1、2、3三个特点。

相关文档
最新文档