数模打怪(九)之线性规划、非线性规划、多目标规划

一、线性规划

1、问题特征:有限的条件下,最大的收益

怎样分配,使……尽量多(少),使利润最多,使最合理

变量都是一次项(x)

2、三个要素:决策变量、目标函数、约束条件s.t.

注意是否还要求变量值是正整数(隐含约束条件) 

3、matlab求解: 

先化为标准模型 :求最小值,约束条件<=(加负号即可转换,记得最终结果加回 - )

然后提取变量参数值:注意f是目标函数系数的列向量(f=[-40; -30]用分号来分行)

最后运行linprog函数代码

二、非线性规划

1、问题特征:有限的条件下,最大的收益

有的变量不是一次方(平方、根号、对数、三角等)

最佳投资方案,往往默认是收益率(x1/x2),是非线性规划

2、matlab求解

先化为标准模型 

然后提取变量参数值:

  fun和nonlcon要写成函数文件的形式(最后写函数名作为参数时,要加' ')

  x0:决策变量的初始值,譬如爬山,从这点开始爬,最快爬上山顶;

因为向上爬总能爬上山顶,所以这一点定在哪里都没关系;

但是要注意:可能有很多个山顶,所以需要多次尝试不同的起点,才能确定最终登上的是最高的山顶(局部最优与全局最优)

最后运行fmincon函数代码

三、多目标规划

1、问题特征:既要……又要……,有多个目标函数

需要衡量每个目标的完成情况,

并主观上区分三个目标的重要性,

使整体的完成情况尽量好

2、三个概念

(1)正负偏差变量(描述实际值和目标值相差多少)

(2)绝对约束(必须满足的条件)和目标约束 (尽量满足,不是强制要求)

(3)优先因子(权重,区分多个目标的重要性)

优先因子越大,偏差要更小总体才更小,即要求更严格,体现出重要性

3、求解步骤:

1、把目标约束加上正负偏差变成等式

2、主观确定优先因子P

3、得到模型

引入正负偏差,是为了把多目标约束变成线性约束

(在目标约束中加入正负偏差,结果是不等式条件变为等式条件;

以正负偏差作为决策变量,目标函数是求对应总目标的总加权偏差的最小值;

使整体完成尽量好)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值