数学建模第二章 非线性规划

合集下载

非线性规划(数学建模)

非线性规划(数学建模)

1.023
1.031 1.073 1.311 1.080 1.150 1.213 1.156 1.023 1.076 1.142 1.083 1.161 1.076 1.110 0.965
1.048
1.226 0.977 0.981 1.237 1.074 1.562 1.694 1.246 1.283 1.105 0.766 1.121 0.878 1.326 1.078
m ax ( 1)R (X)Q (X), st .. x xn 1 1 x 2 x i 0 i 1 ,2 , ,n
3个模型均为非线性规划模型。
引 例
投资选择问题
某公司在一个时期内可用于投资的总资本为 b万元, 可供选择
的项目有n个。假定对第i个项目的投资总额为ai万元,收益总额为
2.212
1.296 0.688 1.084 0.872 0.825 1.006 1.216 1.244 0.861 0.977 0.922 0.958 0.926 1.146 0.990
引 例
收益和风险
每个投资项目的收益率可以看成一个随机变量,其均值可
以用样本均值(历史均值)来近似.因此, 预计第j种投资的平 均收益率为
0.978
0.947 1.003 1.465 0.985 1.159 1.366 1.309 0.925 1.086 1.212 1.054 1.193 1.079 1.217 0.889
1.184
1.323 0.949 1.215 1.224 1.061 1.316 1.186 1.052 1.165 1.316 0.968 1.304 1.076 1.100 1.012
max s.t.
R( X ) Q( X ) x1 x2 x8 1, xi 0

非线性规划和多目标规划模型数学建模

非线性规划和多目标规划模型数学建模
i'j(ij2 )(m o d2 )
进一步考虑到角度的周期性,不碰撞的约束条件可写成:
ij i'jij 2ij
第5讲 非线性规划和多目标模型
最终,原非线性规划问题转化为
6
min i
iji'j 1 2 ( i ij) i2 6 1 , i ij,1i, 2,j,i,j , 61 ,2 , ,6
,
vsinyi0i'
,if
i'
3
2
,tani'
yi0 xi0
or 3
2
i'
2, tani'
yi0 Dxi0
(2)计算任意飞机在t时刻两者的距离:
d ij(i i,j j,t)2 (x i0 v tc o s (i i) x 0 j v tc o s (j j))2 (y i0 v ts in (i i) y 0 j v ts in (j j))2
s . t .
6
m in i i 1
d i j(i i,j j,t ) 8i j
i
6
目标函数也可以定义为
minmax 1i6
i
第5讲 非线性规划和多目标模型
我们来简单看一下其复杂程度
(1)区域内飞行时间:假设飞行角度为θi ’= θi + Δ θi
vDcosxi0i'
,if
0 i'
2
,
最优解 迭代法是主要求解方法: 通常从一个初始解出发,在可
行域中沿着使得目标函数降低的方向前进到下一个解。 一般求解方法:罚函数法,拉格朗日乘子法,近似规划
法等,或者采用智能算法,如:遗传算法,模拟退火算 法,蚁群算法等。

数学建模非线性规划

数学建模非线性规划

其一为SUMT外点法,其二为SUMT内点
法.
5
SUTM外点法
对一般的非线性规划: min f X
s.t.hgji
X X
0 0
i 1,2,..., m; j 1,2,..., l.
(1)
m
l
可设:TX , M f X M min0, gi X 2 M hj X 2 (2)
z
(
x1,
x2
)
1 1
-21
x1 x2
2 6
T
x1 x2
2、 输入命令:
s.t.
1 1
21
x1 x2
2 2
0 0
x1 x2
H=[1 -1; -1 2]; c=[-2 ;-6];A=[1 1; -1 2];b=[2;2]; Aeq=[];beq=[]; VLB=[0;0];VUB=[]; [x,z]=quadprog(H,c,A,b,Aeq,beq,VLB,VUB)
性约束条件.因为线性近似通常只在展开点附近近似程度较
高,故需要对变量的取值范围加以限制,所增加的约束条件是:
xj
x
k j
k j
j 1,, n
求解该线性规划问题,得到最优解X k1 ;
(4) 检验X k1 点对原约束是否可行。若X k1 对原约束可行,
则转步骤(5);否则,缩小步长限制,令
k j
k j
7. [x,fval,exitflag]=quaprog(...);
8. [x,fval,exitflag,output]=quaprog(...);
17
例1 min f(x1,x2)=-2x1-6x2+x12-2x1x2+2x22

数学建模之非线性规划

数学建模之非线性规划

极小值点 M函数(目标值)
优化参数
函数的极小值
初始值
函数的理论(fminunc,fminsearch)
Fibonac c i(斐波那契法)
一维搜索插值法
微积分中的求根法
解析法
Fn
1 5
1
2
5
n
1
2
5
n
二次插值法
例: 求多元函数 f (x, y) x3 y3 3x2 3y2 9x
x12
x2
x32
0,
x1 x22 x32 20,
s.t
x1
x22
2
0,
x2
2 x3 2
3,
x1
,
x2 ,
x3
0.
Matlab优化工具箱
例题:
在约10000m高空的某边长160km的正方形区 域内,经常有若干架飞机作水平飞行。区域内 每架飞机的位置和速度向量均由计算机记录其 数据,以便进行飞行管理。当一架欲进入该区 域的飞机到达区域边缘时,记录其数据后,要 立即计算并判断是否会与区域内的飞机发生碰 撞。如果会碰撞,则应计算如何调整各架(包 括新进入的)飞机飞行的方向角,以避免碰撞。 现假定条件如下:
思考:
y
(160,160)
1.飞行区域
2.约束条件 :
飞行区域
两架飞机相距至少8km;调整角度<30o
飞行速度均为a=800km;刚进入时的飞机
与其他飞机相距在6(00,k0m) 以上;
x
3.目标函数: 飞机飞行方向角调整的幅度尽量小
n
min i i 1
建模过程:
利用飞机的相对飞行速度,将i视为静止, j以相对速度进行飞行

2014年数学建模B作业:非线性规划和目标规划

2014年数学建模B作业:非线性规划和目标规划

2014年数学建模B作业:非线性规划和目标规划
Ⅱ-1 非线性规划
某工厂向用户提供发动机,按合同规定,其交货数量和日期是:第一季度末交40台,第二季末交60台,第三季末交80台。

工厂的最大生产能力为每季100台,每季的生产费用是2
x
x
f+
=(元),其中x为该季生产发动机的台
)
(x
2.0
50
数,若工厂生产多余的发动机可移到下季向用户交货,这样,工厂就需支付存贮费,每台发动机每季的存贮费为4元。

问该厂每季应生产多少台发动机,才能既满足交货合同,又使工厂所花费的费用最少(假定第一季度开始时发动机无存货)?
Ⅱ-2 目标规划
某计算机公司生产三种型号的笔记本电脑A,B,C。

这三种笔记本电脑需要在复杂的装配线上生产,生产1台A,B,C型号的笔记本电脑分别需要5,8,12(h)公司装配线正常的生产时间是每月1700h。

公司营业部门估计A,B,C三种笔记本电脑的利润分别是每台 1000,1440,2520(元),而公司预测这个月生产的笔记本电脑能够全部售出,公司经理考虑以下目标:
第一目标:充分利用正常的生产能力,避免开工不足;
第二目标:优先满足老客户的需求,A,B,C三种型号的电脑50,50,80(台)同时根据三种电脑的纯利润分配不同的权因子;
第三目标:限制装配线的加班时间,不允许超过200h
第四目标:满足各种型号电脑的销售目标,A,B,C型号分别为100,120,100(台),再根据三种电脑的纯利润分配不同的权因子;
第五目标:装配线的加班时间尽可能少。

请列出相应的目标规划模型。

并求解。

数学建模第二章

数学建模第二章
* *
方程的根:实根、虚根。全局的根、 方程的根:实根、虚根。全局的根、局部 的根。单根、重根。 的根。单根、重根。
介值定理 若函数 则方程
] f ( x在 [ a , b连续,且 ) 连续,
f ( a ) f (b ) < 0
f ( x ) = 0 ( a , b内至少有一个实根。 ) 内至少有一个实根。 在
x k +1
f ( xk ) ,k = 0,1,2, L = xk − f ′( x k )
2.1.2 非线性方程求解的MATLAB实现 非线性方程求解的MATLAB实现 MATLAB
MATLAB是matrix laboratory(矩阵实验室 的缩 是 矩阵实验室)的缩 矩阵实验室 软件包是由美国MathWorks公司 写, MATLAB软件包是由美国 软件包是由美国 公司 推出的。目前最为流行的版本MATLAB6.5,其最 推出的。目前最为流行的版本 , 高版本已达到MATLAB7.7。 高版本已达到 。 对计算机编程与数值计算,之所以感到困难是因 对计算机编程与数值计算, 为受到编程技术与数学算法的制约 MATLAB对于问题的表达方式几乎与问题的数学 对于问题的表达方式几乎与问题的数学 表达形式完全一致,是效率较高,功能较强, 表达形式完全一致,是效率较高,功能较强,便 于进行科学工程计算的应用软件。 于进行科学工程计算的应用软件。
模型求解
利用MATLAB软件求解,见MATLAB界面操作 软件求解, 利用 软件求解 界面操作 第二问: 第二问:反复利用递推式可得
xn +1 = (1 + p ) xn − Q = (1 + p ) 2 xn −1 − (1 + p )Q − Q = (1 + p ) n x1 − [(1 + p ) n −1 + (1 + p ) n − 2 + L + (1 + p ) + 1]Q (1 + p ) n − 1 = (1 + p ) n x1 − Q p

数学建模常用方法介绍

数学建模常用方法介绍

数学建模常用方法介绍数学建模是指利用数学方法对实际问题进行数学描述和分析的过程。

它是数学与实际问题相结合的一种科学研究方法。

在数学建模中,常用的方法有线性规划、非线性规划、动态规划、数值模拟、统计分析等。

下面将介绍这些常用的数学建模方法。

1.线性规划线性规划是一种优化问题的数学描述方法,可以用于求解最优化问题,例如最大化利润或最小化成本。

线性规划的基本思想是在一定的约束条件下,通过线性目标函数和线性约束条件,寻找最优解。

线性规划常用的算法有单纯形法、内点法等。

2.非线性规划非线性规划是一种在约束条件下求解非线性最优化问题的方法。

与线性规划不同,非线性规划中目标函数和/或约束条件是非线性的。

非线性规划的求解方法包括梯度下降法、牛顿法等。

3.动态规划动态规划是一种常用的求解最优化问题的方法,它可以用于求解具有重叠子问题结构的问题。

动态规划将原问题分解为一系列子问题,并通过保存子问题的解来避免重复计算,从而降低计算复杂度。

动态规划常用于求解最短路径问题、背包问题等。

4.数值模拟数值模拟是通过数值方法对实际问题进行计算机模拟和仿真的方法。

数值模拟在现代科学和工程中得到广泛应用。

数值模拟方法包括有限差分法、有限元法、蒙特卡洛方法等。

5.统计分析统计分析是通过数理统计方法对数据进行分析和推断的方法。

统计分析可以帮助我们了解数据的分布、关系和趋势,并做出科学的推断和预测。

统计分析方法包括假设检验、方差分析、回归分析等。

除了以上常用方法,还有一些其他常用的数学建模方法,例如图论、随机过程、优化算法等。

不同的问题需要选用不同的数学建模方法。

为了解决实际问题,数学建模需要结合实际背景和需求,在数学建模的过程中运用合适的数学方法,建立准确的模型,并通过数学分析和计算机辅助求解,得到符合实际情况的解答和结论。

数学建模的过程不仅仅是将数学工具应用于实际问题,更要注重问题的形式化、合理性和可行性。

在实际建模过程中,需要对问题进行适当的简化和假设,并考虑到模型的稳定性和可靠性。

非线性规划课件

非线性规划课件
得 X(1)=(x₁ (0),x₂ (1))T,S(1)=f(X(1))
②再固定x₂=x₂ (1): 求以x₁为单变量的目标函数的极值点,
得 X(2)=(x,(2),x₂ (1))T ,S(2)=f(X(2))
此时S(2)优于S(1), 且搜索区间缩短为x₁*∈[x,(2),b,],x₂*∈[x₂ (1),b₂] 第二步:如此交替搜索,直至满足给定精度ε为止
否则,继续缩短区间,
直至满足给定的精度为
①f(x₂)≥f(xq), 取[aq=ao,b,=x,]
X₁ =X2
x'2=b₁-λ(b₁-aq) ②f(x₂)<f(x₁), 取[a=x2,b,=b,]
x=aq+λ(b₁-aq)
10
x₂ =x₁
例 求 解 f(x)=-18x²+72x+28 的极大值点,δ≤0.1,起始搜索区间为[0,3] 解:①用间接法:令 f'(x)=-36x+72=0, 得驻点 x=2
xq*∈[aq,b,],x²*∈[a₂ ,b₂ ],.,x*∈[an,b,]
1、原理: ①从起点 X(0) 出发,沿平行于 x, 轴的方向P(1)进行一维搜索,
求得 f(X) 在该方向P(1)上近似极值点 X(1);
②从点 X(1) 出发,沿平行于 x₂ 轴的方向P(2)进行一维搜索,
求得 f(X) 在该方向P(2)上近似极值点 X(2); ③从点 X(2) 出发,照此交替进行下去,直至满足给定的精度ε为止
六、 寻优方法概述:
1、N.L.P.问题分类
① 无约束条件的NLP问题。 ② 有约束条件的NLP问题。 2、寻优方法
① 间接法(解析法):适应于目标函数有简单明确的数学表达式。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数学建模
例3.6 求函数f (x ) = sin (x ) + 3取最小值时的x 值。 解 编写 f (x )的M 文件fun4.m 如下:
function f=fun4(x); f=sin(x)+3;
编写主函数文件example7.m如下: x0=2; [x,y]=fminsearch(@fun4,x0) 运行主函数文件即求得在初值2 附近的极小点及极小 值。
它的返回值是向量x ,其中FUN 是用M 文件定义的函数 f (x ) ;X0 是x 的初始值;A,B,Aeq,Beq 定义了线性约束 A * X ≤ B , Aeq * X = Beq ,如果没有线性约束,则 A=[], B=[], Aeq=[], Beq=[];LB 和UB 是变量x 的下界和 上界,如果上界和下界没有约束,则LB=[],UB=[],如果x 无下界,则LB 的各分量都为-inf,如果x 无上界,则UB的 各分量都为inf;NONLCON 是用M 文件定义的非线性向量函 数 C(x), C eq ( x ) ;OPTIONS定义了优化参数,可以使 用Matlab 缺省的参数设置。
1 T min x Hx f T x 2 Ax b s.t. Aeqx beq LB x UB
返回值X 是决策向量x 的值,返回值FVAL 是目标函数在 x 处的值。
数学建模
例3.9 求解二次规划
解 编写如下程序:
数学建模
h=[4,-4;-4,8]; f=[-6;-3]; a=[1,1;4,1]; b=[3;9]; [x,value]=quadprog(h,f,a,b,[],[],zeros(2,1))
数学建模
例3.11
解 (1) 编写M 文件fun5.m function f=fun5(x); f=(x-3)^2-1;
(2) 在Matlab 的命令窗口输入 [x,y]=fminbnd('fun5',0,5) 即可求得极小点和极小值。
数学建模
2 fseminf 函数
数学建模
上述问题的Matlab 命令格式为 X=FSEMINF(FUN,X0,NTHETA,SEMINFCON,A,B,Aeq,Beq) 其中FUN 用于定义目标函数 F (x ) ;X0 为x 的初始值; NTHETA 是半无穷约束 PHI (x, w )的个数; 函数SEMINFCON 用于定义非线性不等式约束C (x ) ,非 线性等式约束Ceq (x )和半无穷约束 PHI (x, w )的每一个 分量函数,函数SEMINFCON 有两个输入参量X 和 S,S 是推荐的取样步长
数学建模
3.3.2 罚函数法 利用罚函数法,可将非线性规划问题的求解,转化为 求解一系列无约束极值问题,因而也称这种方法为序列 无约束最小化技术,简记为 SUMT (Sequential Unconstrained Minization Technique)。 罚函数法求解非线性规划问题的思想是,利用问题中 的约束函数作出适当的罚函数,由此构造出带参数的增广 目标函数,把问题转化为无约束非线性规划问题。主要有 两种形式,一种叫外罚函数法,另一种叫内罚函数法,下 面介绍外罚函数法。
数学建模
求函数的极小值
其中x 可以为标量或向量。 Matlab 中fminunc 的基本命令是 [X,FVAL]=FMINUNC(FUN,X0,OPTIONS,P1,P2, ...) 其中的返回值X 是所求得的极小点,FVAL 是函数的极小值, 其它返回值的含义参见相关的帮助。FUN 是一个M 文件, 当FUN 只有一个返回值时,它的返回值是函数 f (x ) ;
数学建模
上面例题是在一组等式或不等式的约束下,求一个函数 的最大值(或最小值)问题,其中至少有一个非线性函数, 这类问题称之为非线性规划问题。
可概括为一般形式
其中x =[x1….. xn ] T 称为模型的决策变量,f 称为目标函数, g i ( i =1,….P ) 和) hj (j =1,…..q ) 称为约束函数。另外, 0 ) g i(x )=0 ( i =1,….P )称为等式约束, hj(x) ≤0 (j =1,…..q )称 为不等式的约束。
数学建模
线性规划与非线性规划的区别 如果线性规划的最优解存在,其最优解只能在其可行 域的边界上达到(特别是可行域的顶点上达到);而非线 性规划的最优解(如果最优解存在)则可能在其可行域的 任意一点达到。 3.1.2 非线性规划的Matlab 解法 Matlab 中非线性规划的数学模型写成以下形式
数学建模
数学建模
第三章 非线性规划
数学建模
3.1 非线性规划 3.1.1 非线性规划的实例与定义 如果目标函数或约束条件中包含非线性函数,就称这种 规划问题为非线性规划问题。,非线性规划目前还没有适于 各种问题的一般算法,各个方法都有自己特定的适用范围。 下面通过实例归纳出非线性规划数学模型的一般形式 例1 (投资决策问题)某企业有n 个项目可供选择投资, 并且至少要对其中一个项目投资。已知该企业拥有总资金 A 元,投资于第i ( i = 1,….,n) 个项目需花资金 ai元,并预 计可收益 bi元。试选择最佳投资方案。
数学建模
在Matlab 优化工具箱中,用于求解约束最优化问题的函数 有:fminbnd、fmincon、quadprog、fseminf、fminimax, 上面已经介绍了函数fmincon 和quadprog。 1 fminbnd 函数 求单变量非线性函数在区间上的极小值
Matlab 的命令为 [X,FVAL] = FMINBND(FUN,x1,x2,OPTIONS) 它的返回值是极小点x 和函数的极小值。这里fun 是用 M 文件定义的函数或Matlab 中的单变量数学函数。
数学建模
例2 求下列非线性规划
数学建模
解 (i)%编写M 文件fun1.m 定义目标函数
function f=fun1(x); f=sum(x.^2)+8;
(ii)编写M文件fun2.m定义非线性约束条件 function [g,h]=fun2(x); G=-x(1)^2+x(2)-x(3)^2 x(1)+x(2)^2+x(3)^3-20; %非线性不等式约束
数学建模
3.3.1 二次规划 若某非线性规划的目标函数为自变量x 的二次函数,约 束条件又全是线性的,就称这种规划为二次规划。 Matlab 中二次规划的数学模型可表述如下:
其中,H为实对称矩阵
Matlab 中求解二次规划的命令是 [X,FVAL]= QUADPROG(H,f,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
数学建模
编写主函数文件example62.m如下: options = optimset('GradObj','on','Hessian','on'); [x,y]=fminunc('fun3',rand(1,2),options) 即可求得函数的极小值。
求多元函数的极值也可以使用Matlab 的fminsearch 命令, 其使用格式为: [X,FVAL,EXITFLAG,OUTPUT]= FMINSEARCH(FUN,X0,OPTIONS,P1,P2,...)
数学建模
3.3 约束极值问题 带有约束条件的极值问题称为约束极值问题,也叫规划 问题。 求解约束极值问题要比求解无约束极值问题困难得多。 为了简化其优化工作,可采用以下方法:将约束问题化为 无约束问题;将非线性规划问题化为线性规划问题,以及 能将复杂问题变换为较简单问题的其它方法。 库恩—塔克条件是非线性规划领域中最重要的理论成 果之一,是确定某点为最优点的必要条件,但一般说它 并不是充分条件(对于凸规划,它既是最优点存在的必 要条件,同时也是充分条件)。
LB≤ x≤UB 其中 f (x ) 是标量函数, Beq , Aeq, B, A 是相应维数的矩 阵和向量, C (x), Ceq ( x )是非线性向量函数。 Matlab 中的命令是 X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OP TIONS)
数学建模
数学建模
解 设投资决策变量为
则投资总额为
,投资总收益为
因为该公司至少要对一个项目投资,并且总的投资金 额不能超过总资金A ,故有限制条件
由于) xi (i = 1,…. , n 只取值0 或1,所以还有
数学建模
最佳投资方案应是投资额最小而总收益最大的方案, 所以这个最佳投资决策问题归结为总资金以及决策变量 (取0 或1)的限制条件下,极大化总收益和总投资之比。 因此,其数学模型为:
数学建模
当FUN 有两个返回值时,它的第二个返回值是f (x)的梯 度向量;当FUN 有三个返回值时,它的第三个返回值是 f (x) 的二阶导数阵(Hessian 阵)。X0 是向量x 的初始值, OPTIONS 是优化参数,可以使用缺省参数。P1,P2 是可 以传递给FUN 的一些参数。
例3.5 解:编写M 文件fun2.m 如下: function [f,g]=fun2(x); f=100*(x(2)-x(1)^2)^2+(1-x(1))^2; g=[-400*x(1)*(x(2)-x(1)^2)-2*(1-x(1));200*(x(2)-x(1)^2)];
数学建模
编写主函数文件example6.m如下: options = optimset('GradObj','on'); [x,y]=fminunc('fun2',rand(1,2),options) 即可求得函数的极小值。
方法2: 在求极值时,也可以利用二阶导数,编写M 文件 fun3.m 如下: function [f,df,d2f]=fun3(x); f=100*(x(2)-x(1)^2)^2+(1-x(1))^2; df=[-400*x(1)*(x(2)-x(1)^2)-2*(1-x(1));200*(x(2)-x(1)^2)]; d2f=[-400*x(2)+1200*x(1)^2+2,-400*x(1) -400*x(1),200];
相关文档
最新文档