数学建模算法与应用
第一章——线性规划
线性规划
线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最小的问题。关键在于选定适当的决策变量
为规范格式MATLAB给定了标准格式
结论——若线性规划存在有限最优解,则必可找到具有最优目标函数值的可行域R 的 “顶点”。
在低维欧式空间我们还可以想象其几何结构解(无非是直线或平面的交空间。但是对于一般维数的线性规划便需要超平面(比空间维数少一)与半空间(空间被超平面一分为二)来描述。因此我们用另外一种定义来描述
- 称
n
维空间中的区域
R 为一凸集,若对 ∀x1,x2∈R 及 ∀λ∈(0,1) ,有 λx1+(1−λ)x2∈R . - 设
R
是
n 维空间维的一凸集, R 中的点x 被称为 R 中的一个极点,若不存在x1,x2∈R 及 λ∈(0,1) ,使得 x=λx1+(1−λ)x2.
上面两个定义分别指出:
- 凸集中任意两点的连线必在此凸集
- 极点不能位于区域中中任意两点的连线上
- 称
n
维空间中的区域
一般求解方法为单纯形法,这里只介绍MATLAB解法:
[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
很多看起来不是线性规划的问题也可以通过变换变成线性规划的问题来解决。
- 如利用正负部变换把含绝对值的优化化为线性的。
- 利用整体换元法
运输问题
存在产销平衡问题(当有也有生产与销售量不平衡的情况),实际上不平衡的运输问题可以转换成平衡型的问题。通过虚设一个产地或销售地并令运输成本为0。
当产量等于销售量的时候有可行解且必有最优解。并且若产量与销售量均为整数时,必存在决策变量均是整数的解。
其约束条件的系数矩阵相当特殊,可用比较简单的计算方法,习惯上称为表上作业法(由
康托洛维奇和希奇柯克两人独立地提出,简称康—希表上作业法)。康—希表上作业法:实际上只是用表格来方便理解,并不是一种算法,而是一种简便方法。仍然可以使用linprog求解。
例子:
F = [50 90 20 0 30 10 70 0 60 20 80 0];%各单位运输成本 m = [1 1 1 1 0 0 0 0 0 0 0 0;0 0 0 0 1 1 1 1 0 0 0 0;0 0 0 0 0 0 0 0 1 1 1 1;1 0 0 0 1 0 0 0 1 0 0 0;0 1 0 0 0 1 0 0 0 1 0 0 ;0 0 1 0 0 0 1 0 0 0 1 0;0 0 0 1 0 0 0 1 0 0 0 1]; %等式约束 n = [15 18 17 18 12 16 4]; M = [0 0 0 0 0 0 0 0 0 0 0 0]; %下界 [v, fval] = linprog(F, [], [], m, n, M) x = reshape(v, 4, 3); x = x'
指派问题
指派问题的可行解可以用一个矩阵表示,其每行每列均有且只有一个元素为1,其余元素均为 0;问题中的变量只能取 0 或1,从而是一个0-1 规划问题。一般的0-1 规划问题求解极为困难。但指派问题并不难解,其约束方程组的系数矩阵十分特殊(被称为全单位模矩阵,其各阶非零子式均为±1),其非负可行解的分量只能取 0或 1,故约束 xij = 0或1可改写为 xij ≥ 0而不改变其解。此时,指派问题被转化为一个特殊的运输问题。
由于指派问题的特殊性,又存在着由匈牙利数学家 Konig 提出的更为简便的解法—匈牙利算法。算法主要依据:
如果系数矩阵 C=(cij) 一行(或一列)中每一元素都加上或减去同一个数,得到一个新矩阵 B ,则以C或B为系数矩阵的指派问题具有相同的最优指派。
对偶理论与灵敏度分析
原始问题与对偶问题
不太严谨的说,对偶问题可以看成是原始问题的“行列转置”
为什么要学对偶问题?
1. 线性规划中的对偶只是对偶中的一个特例
2. 提供了一个简单的证明原问题没解的途径。线性规划区别于其它优化问题的一个重要特点是,我们能比较容易地判断我们这问题有解还是没解。事实上,你能判断出任何一个线性规划有没有解,就已经能轻松算出原问题的最优解了
3. 很多凸优化问题都是通过解对偶问题来求解的,线性规划只是其中一个特例而已
4. 对偶变量可以用来作敏感性分析(sensitivity analysis),即:如果一个约束条件稍微改变一下或者去掉一个约束条件,最优解会如何变化?but how?
对偶问题的基本性质:
对称性:对偶问题的对偶是原问题。
弱对偶性:若
x¯ 是原问题的可行解, y¯ 是对偶问题的可行解。则存在 cTx¯≤bTy¯可见对偶化具有不减性
无界性:若原问题(对偶问题)为无界解,则其对偶问题(原问题)无可行解。
可行解是最优解时的性质:设 xˆ 是原问题的可行解, yˆ 是对偶问题的可行解,当 cTxˆ=bTyˆ 时, xˆ,yˆ 是最优解。
对偶定理:若原问题有最优解,那么对偶问题也有最优解;且目标函数值相同。
互补松弛性:若 xˆ,yˆ 分别是原问题和对偶问题的最优解,则 yˆT(Axˆ−b)=0,xˆT(Ayˆ−c)=0
灵敏度分析
参数线性规划
均未完善,待续~~
投资的收益和风险
- 显然此为一个多目标优化。处理方式如下几种
- 固定某一个优化目标,另一个转换为约束条件
- 给两个赋权,称偏好系数。
- 直接多目标优化(可用智能算法)
- 求解后对所得结果要进行有效的分析