1.线性规划的Matlab标准形式
Matlab 中求解线性规划的命令为
[x,fval]=linprog(c,A,b)
[x,fval]=linprog(c,A,b,Aeq,beq)
[x,fval]=linprog(c,A,b,Aeq,beq,lb,ub)
求解下列线性规划问题
例1:
(求最大值在前面加负号)
matlab程序如下:
f=[-2;-3;5];
a=[-2,5,-1;1,3,1];
b=[-10,12];
aeq=[1,1,1];
beq=7;
[x,y]=linprog(f,a,b,aeq,beq,zeros(3,1));%无上界
x,y=-y
答案:
x1 = 6.4286, x2 = 0.5714, x3 = 0 ;
y = 14.5714
例2:
c=[2;3;1];
a=[1,4,2;3,2,0];
b=[8;6];
[x,y]=linprog(c,-a,-b,[],[],zeros(3,1))
2. 投资的收益和风险
2.1 问题提出
市场上有 n 种资产 (i =1,2,L,n )可以选择,现用数额为 M 的相当大的资金作一个时期的投资。这 n 种资产在这一时期内购买
的平均收益率为
,风险损失率为
,投资越分散,总的风险越少,总体风险可用投资的
中最大的一个风险来度量。购买
时要付交易费,(费率
),当购买额不超过给定值
时,交易费按购买
计算。另外,假定同期银行存款利率是
,既无交易费又无风险。(
= 5%)
2.2 符号规定和基本假设
2.3 模型的建立和分析
2.4 模型一求解
符号规定:
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')
2.5 结果分析
(冒险?):大约是 a = 2.5% ,Q = 27%,所对应投资方案为: 风险度 a = 0.025 ,收益Q = 0.2673,x0 =0,x1 = 0.9901 ,x2 = 0,x3 = 0, x4 = 0。
作业1
解:对产品I来说,设以,
完成A工序的产品分别为
,
件,转入B工序时以
完成B工序的产品分别为
件;对产品II来说,设以
,
完成A工序的产品分别为
件,转入B工序时;以
完成B工序的产品为
件;对产品III来说,设以
完成A工序的产品为
件,则以
完成B工序的产品也为
件。由上述条件得:
线性规划的典型例题:生产决策问题(思考+程序代码)_Jayna Su的博客-优快云博客_线性规划问题例题
(看了这个博主的解释才算明白,解释的很详细,也有带程序)
作业2

代码可以参考
matlab 0-1规划求解指派问题_zero-优快云博客_matlab指派问题
答案:
甲A乙D丙C丁B,最小时间=70