第一章 线性规划_01

第一章线性规划
§1 线性规划
1.线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最
小的问题。
2.线性规划的 Matlab 标准形式
Matlab 中规定线性规划的标准形式为
在这里插入图片描述
其中 c 和 x 为 n 维列向量, A 、 Aeq 为适当维数的矩阵,b 、beq 为适当维数的列向量
·求最大值的线性规划问题转换:
基本函数形式为 linprog(c,A,b),它的返回值是向量 x 的值。还有其它的一些函数调用形
式(在 Matlab 指令窗运行 help linprog 可以看到所有的函数调用形式),如:
[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
这里 fval 返回目标函数的值,LB 和 UB

例2:
在这里插入图片描述
解:编写 M 文件,文件名:No1_02.m
c=[2;3;-5];
a=[-2,5,-1;1,3,1];
b=[-10;12];
aeq=[1,1,1];
beq=7;
x=linprog(-c,a,b,aeq,beq,zeros(3,1))
value = c’*x
结果: x =
6.4286 *x1
0.5714 *x2
0 *x3
value =
14.5714 *所求最大值

例3:
在这里插入图片描述
解:编写M文件,文件名:No1_03.m
c=[2;3;1];
a=[1,4,2;3,2,0];
b=[8;6];
[x,y]=linprog(c,-a,-b,[],[],zeros(3,1))
结果:x =
2.0000
0
3.0000
y = 7 *所求最小值

§2 运输问题(产销平衡)
§3 指派问题
匈牙利算法——算法主要依据以下事实:如果系数矩阵 ( )ij C = c 一行(或一列)中每 一元素都加上或减去同一个数,得到一个新矩阵 ( ) B = bij ,则以C 或 B 为系数矩阵的 指派问题具有相同的最优指派。
§4 对偶理论与灵敏度分析
不太严谨地说,对偶问题可被看作是原始问题的“行列转置”:
(1) 原始问题中的第 j 列系数与其对偶问题中的第 j 行的系数相同;
(2) 原始目标函数的各个系数行与其对偶问题右侧的各常数列相同;
(3) 原始问题右侧的各常数列与其对偶目标函数的各个系数行相同;
(4) 在这一对问题中,不等式方向和优化方向相反。
在这里插入图片描述
4.2 对偶问题的基本性质
1o 对称性:对偶问题的对偶是原问题。
2o 弱对偶性:若 x 是原问题的可行解, y 是对偶问题的可行解。则存在
在这里插入图片描述
3o 无界性:若原问题(对偶问题)为无界解,则其对偶问题(原问题)无可行解。
4o 可行解是最优解时的性质:设 xˆ 是原问题的可行解, yˆ 是对偶问题的可行解,
在这里插入图片描述 时, xˆ, yˆ 是最优解。

5o 对偶定理:若原问题有最优解,那么对偶问题也有最优解;且目标函数值相同。
6o 互补松弛性:若 xˆ, yˆ 分别是原问题和对偶问题的最优解,则
在这里插入图片描述

§5 投资的收益和风险
5.1 问题提出
市场上有 n 种资产 s_i (i =1,2,L,n )可以选择,现用数额为 M 的相当大的资金作一个时期的投资。这 n 种资产在这一时期内购买 s_i 的平均收益率为 r_i ,风险损失率为q_i ,投资越分散,总的风险越少,总体风险可用投资的 s_i 中最大的一个风险来度量。
购买 s_i 时要付交易费,(费率 p_i ),当购买额不超过给定值u_i 时,交易费按购买u_i计算。另外,假定同期银行存款利率是 r_0 ,既无交易费又无风险。(r_0 = 5%)
已知 n = 4 时相关数据如表 1。
在这里插入图片描述
试给该公司设计一种投资组合方案,即用给定资金 M ,有选择地购买若干种资产
或存银行生息,使净收益尽可能大,使总体风险尽可能小。
5.2 符号规定和基本假设
符号规定:
s_i :第i 种投资项目,如股票,债券
p_i q_i r_i, , :分别为 s_i 的平均收益率,交易费率,风险损失率
u_i : s_i 的交易定额
r_0 :同期银行利率
x_i :投资项目 s_i 的资金
a :投资风险度
Q :总体收益
基本假设:
1. 投资数额 M 相当大,为了便于计算,假设 M =1; 2. 投资越分散,总的风险越小;
3. 总体风险用投资项目 s_i 中最大的一个风险来度量;
4. n 种资产s_i 之间是相互独立的;
5. 在投资的这一时期内,p_i q_i r_i , r_0 为定值,不受意外因素影响;
6. 净收益和总体风险只受 p_i q_i r_i, 影响,不受其它因素干扰。
5.3 模型的分析与建立
1. 总体风险用所投资的s_i 中最大的一个风险来衡量,即
max{q_i x_i | i= 1,2,… ,n}
2.购买 s_i 所付交易费是一个分段函数,即
在这里插入图片描述
而题目所给定的定值u_i (单位:元)相对总投资 M 很少, p_i*u_i 更小,可以忽略不
计,这样购买 s_i 的净收益为 (r_i − p_i )x_i 。 3. 要使净收益尽可能大,总体风险尽可能小,这是一个多目标规划模型:
在这里插入图片描述
4. 模型简化
a) 在实际投资中,投资者承受风险的程度不一样,若给定风险一个界限 a ,使最大的一个风险
在这里插入图片描述
可找到相应的投资方案。这样把多目标规划变成一个目标的线性规划。
模型一 固定风险水平,优化收益
在这里插入图片描述
b) 若投资者希望总盈利至少达到水平 k 以上,在风险最小的情况下寻求相应的投资组合。
模型二 固定盈利水平,极小化风险
在这里插入图片描述
c) 投资者在权衡资产风险和预期收益两方面时,希望选择一个令自己满意的投资组合。因此对风险、收益分别赋予权重 s(0 < s ≤1)和(1− s) ,s 称为投资偏好系数。

在这里插入图片描述
5.4 模型一的求解
模型一为:
min f = ( -0.05, -0.27, -0.19, -0.185, -0.185)(x_0 , x_1 , x_2 , x_3 , x_4 ) ^T
在这里插入图片描述
由于 a 是任意给定的风险度,到底怎样没有一个准则,不同的投资者有不同的风险
度。我们从 a = 0 开始,以步长Δa = 0.001进行循环搜索,编制程序如下:
clc,clear
a=0;
hold on
while a<0.05
c=[-0.05,-0.27,-0.19,-0.185,-0.185];
A=[zeros(4,1),diag([0.025,0.015,0.055,0.026])];
b=a*ones(4,1);
Aeq=[1,1.01,1.02,1.045,1.065];
beq=1;
LB=zeros(5,1);
[x,Q]=linprog(c,A,b,Aeq,beq,LB);
Q=-Q;
plot(a,Q,’*r’);
a=a+0.001;
end
xlabel(‘a’),ylabel(‘Q’)

在这里插入图片描述
5.5 结果分析

  1. 风险大,收益也大。
    2.当投资越分散时,投资者承担的风险越小,这与题意一致。即:冒险的投资者会出现集中投资的情况,保守的投资者则尽量分散投资。
    3.在 a = 0.006 附近有一个转折点,在这一点左边,风险增加很少时,利润增长很快。在这一点右边,风险增加很大时,利润增长很缓慢,所以对于风险和收益没有特殊偏好的投资者来说,应该选择曲线的拐点作为最优投资组合,大约是 a = 0.6% , Q = 20%,所对应投资方案为:风险度 a = 0.006 ,收益Q = 0.2019,x0 = 0, x1 = 0.24 , x2 = 0.4,x3 = 0.1091, x4 =0.2212 。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 第6章《非线性规划的Matlab实现》课件主要介绍了如何使用Matlab软件进行非线性规划问题的求解。 该课件分为四个部分:非线性规划问题的定义、优化算法的选择、求解非线性规划问题的步骤、以及Matlab的非线性规划求解工具箱。 课件首先介绍了非线性规划问题的基本概念和数学定义,阐述了目标函数为非线性函数、变量约束为非线性等式或非线性不等式的情况。然后介绍了常用的非线性规划求解算法,包括单纯形法、梯度下降法、牛顿法等,其中指出不同算法适用于不同类型的非线性规划问题。 接下来,课件详细介绍了非线性规划问题的求解步骤,包括问题建模、初始点的选择、收敛判据的确定等。同,还介绍了Matlab中的非线性规划求解工具箱,例如fmincon函数、lsqnonlin函数等,这些函数可以简化非线性规划问题的求解过程。 最后,课件通过一个实例演示了如何在Matlab环境下进行非线性规划问题的求解。演示中使用了fmincon函数进行求解,首先定义目标函数、约束条件和初始点等,然后通过调用fmincon函数得到最优解。 总的来说,该课件内容丰富,结构清晰,通过Matlab软件的应用,系统介绍了非线性规划问题的求解方法。对于需要进行非线性规划问题求解的研究人员和工程师来说,该课件是一份很好的学习资料。 ### 回答2: 第6章的课件主要介绍了非线性规划的matlab实现。非线性规划是指目标函数和约束条件中存在非线性项的最优化问题。 课件首先介绍了非线性规划的基本概念和问题的表达方式,然后详细介绍了matlab中非线性规划的求解方法和函数。 在matlab中,可以使用fmincon函数来求解非线性规划问题。该函数的输入参数包括目标函数,初始点,线性约束条件、非线性约束条件等。课件通过示例代码演示了如何使用fmincon函数来求解非线性规划问题。 此外,课件还介绍了如何处理不等式约束条件和等式约束条件,以及如何设置优化算法的参数。还介绍了如何设置目标函数和约束条件的梯度函数,以提高求解效率。 课件最后还介绍了一些其他常用的非线性规划求解函数和工具箱,如lsqnonlin函数、fminunc函数和Global Optimization Toolbox等。 通过学习本章课件,我对非线性规划问题的matlab求解方法有了更深入的了解和掌握。我能够通过fmincon函数来求解非线性规划问题,并能处理不同类型的约束条件。我还掌握了如何设置优化算法的参数以及如何提高求解效率。 总的来说,第6章非线性规划的matlab实现课件内容丰富,结构清晰,通过示例代码的演示,使我能够更加熟练地运用matlab来求解非线性规划问题。这对我今后的学习和工都具有很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值