数学建模算法与应用第一周学习

数学建模算法与应用第一周学习

第一章 线性规划

§1 线性规划

1.1 线性规划的实例与应用

在一组线性拘束条件的限制下,求一线性目标函数最大或最小的问题。

1.2 Matlab标准形式

1.3线性规划问题的解的概念

可行解 满足拘束条件的解
最优解 目标函数最大值时的可行解
可行域 所有可行解构成的集合,记为 R

1.4线性规划的图解法

n维空间中,有:
1,凸集中任意两点的连线必在此凸集中;
2,若 x 是凸集 R的一个极点,则 x 不能位于 R 中任意两点的连线上。不难证明,多胞形必为凸集。同
样也不难证明,二维空间中可行域 R 的顶点均为 R 的极点( R 也没有其它的极点)。

1.5matlab解法

求解例2
在这里插入图片描述
在Matlab中进行计算

基本函数形式为 linprog(c,A,b),它的返回值是向量 x 的值。还有其它的一些函数调用形
式(在 Matlab 指令窗运行 help linprog 可以看到所有的函数调用形式),如:
[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
这里 fval 返回目标函数的值,LB 和 UB 分别是变量 x 的下界和上界,x0 是 x 的初始值,
OPTIONS 是控制参数。

注意函数中拘束条件只有小于号,所以可以适当转换成负数。
求max时linprog中c取负,min中取正。
在这里插入图片描述

1.6可以转化成线性规划的问题

斯巴亚一

§2运输问题(产销平衡)

在这里插入图片描述这数据也太多了?所以去找了一下表上作业法。在这里插入图片描述

§3指派问题

3.1指派问题的数学模型

即把Xij变成1或者0,1代表把事情交给I让他去做j,0代表i没有做j,耗费的时间可以使用矩阵Cij表示。
其系数矩阵十分特殊,解分量只有0或1,而m=n,ai=bj=1。

3.2求解指派问题的匈牙利算法

系数矩阵中每行和每列减去相同数字不影响最优指派的结果。通过运算得到每行每列不同的零元素即为最优指派。
疑问:为什么最优指派无法与系数矩阵相乘?
https://blog.csdn.net/z464387937/article/details/51227347
答:那个不是矩阵是对应下标。

§4 对偶理论和灵敏度分析

4.1原始问题和对偶问题

对偶问题和对偶问题的关系:

(1) 原始问题中的第 j 列系数与其对偶问题中的第 j 行的系数相同;
(2) 原始目标函数的各个系数行与其对偶问题右侧的各常数列相同;
(3) 原始问题右侧的各常数列与其对偶目标函数的各个系数行相同;
(4) 在这一对问题中,不等式方向和优化方向相反。

4.2 对偶问题的基本性质

详见P8例10。
严格不等式:指等式两边取不到负号

§5 投资的收益和风险

5.1问题提出

有选择地购买若干种资产
或存银行生息,使净收益尽可能大,使总体风险尽可能小。

5.2 符号规定和基本假设

投资越分散,总的风险越小;
总体风险用投资项目Si中最大的一个风险来度量;

5.3模型的建立和分析和简化

注:因为M非常大,故可以忽略交易定额
建立模型:
在这里插入图片描述
模型简化,将多目标规划变成单目标规划(a)(b),或者设定投资偏好系数s(c)。

5.4 模型求解

如上

第三章 非线性规划

§1 非线性规划

概念;在求一个函数的最值的时候,至少有一个非线性函数。
与线性规划的区别:最优解可以在可行域的任何一个地方找到。
Matlab解法:X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)
其中无局限的元素可用[ ]表示,FUN是用M文件定义的函数f(x),NONLCON是用M文件定义的非线性向量函数C(x),Ceq(x)。

求解非线性规划的基本迭代格式

关键问题;如何构建每一轮的搜索方向和确定适当的步长。
在这里插入图片描述
p为搜索方向,t为搜索步长。
注:凸规划的可行域为凸集,其局部最优解即为全局最优解,而且其最优解的集合形成一个凸集。当凸规划的目标函数 f (x)为严格凸函数时,其最优解必定唯一(假定最优解存在)。

§2 无约束问题

一维搜索的方法很多,常用的有:(1)试探法(“成功—失败”,斐波那契法,0.618 法等);
(2)插值法(抛物线插值法,三次插值法等);
(3)微积分中的求根法(切线法、线法,二分法等)。
1,斐波那契法

3.3约束极值问题

带有约束条件的极值问题称为约束极值问题,也叫规划问题。
求解约束极值问题要比求解无约束极值问题困难得多。为了简化其优化工作,可采
用以下方法:将约束问题化为无约束问题;将非线性规划问题化为线性规划问题,以及
能将复杂问题变换为较简单问题的其它方法。
库恩—塔克条件是非线性规划领域中最重要的理论成果之一,是确定某点为最优点
的必要条件,但一般说它并不是充分条件(对于凸规划,它既是最优点存在的必要条件,
同时也是充分条件)。

3.3.1二次规划

若某非线性规划的目标函数为自变量 x 的二次函数,约束条件又全是线性的,就称
这种规划为二次规划。
Matlab 中二次规划的数学模型可表述如下:
min 1 / 2 x T H x + f T x 1/2x^THx+f^Tx 1/2xTHx+fTx,
s.t. Ax<=b,
Aeq*x=beq,
lb<=x<=ub.
这里 H 是实对称矩阵, f ,b 是列向量, A 是相应维数的矩阵。
Matlab 中求解二次规划的命令是
[X,FVAL]= QUADPROG(H,f,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
返回值 X 是决策向量 x 的值,返回值 FVAL 是目标函数在 x 处的值。(具体细节可以参
看在 Matlab 指令中运行 help quadprog 后的帮助).
求解线性规划:
min f ( x ) = 2 x 1 2 − 4 x 1 x 2 + 4 x 2 2 − 6 x 1 − 3 x 2 f(x)=2x_1^2-4x_1x_2+4x_2^2-6x_1-3x_2 f(x)=2x124x1x2+4x226x13x2,
s.t. x 1 + x 2 < = 3 x_1+x_2<=3 x1+x2<=3,
4 x 1 + x 2 < = 9 4x_1+x_2<=9 4x1+x2<=9,
x 1 , x 2 > = 0 x_1,x_2>=0 x1,x2>=0.
解:
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))
求得:
x 1 = 1.9500 , x 2 = 1.0500 , m i n f ( x ) = − 11.0250 x_1=1.9500,x_2=1.0500,minf(x)=-11.0250 x1=1.9500,x2=1.0500,minf(x)=11.0250.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值