利用python求解线性规划问题以及模糊线性规划问题

利用python求解线性规划问题以及模糊线性规划问题
问题描述
某风险投资投资公司希望用80(±3)万投资五个公司,主要选取 投资收益率风险损失率两个因素作为主要指标
具体数据如下
利用python求解线性规划问题以及模糊线性规划问题_第1张图片
注:此图以及例子转自期刊:科 学 技 术 与 工 程,论文“基于模糊线性规划理论的风险投资决策分析”
python 实现:

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node='all'
#求解max z1
import numpy as np
from scipy import optimize as op
x1=[0,None]
x2=[0,None]
x3=[0,None]
x4=[0,None]
x5=[0,None]

c=np.array([-0.05,-0.1,-0.2,-0.3,-0.4]) #目标函数的系数
A_eq=np.array([[1,1,1,1,1]]) #等式约束的系数
B_eq=np.array([80])

res1=op.linprog(c,A_eq,B_eq,bounds=(x1,x2,x3,x4,x5)) #调用函数进行求解
res1


#求解min z2
import numpy as np
from scipy import optimize as op
x1=[0,None]
x2=[0,None]
x3=[0,None]
x4=[0,None]
x5=[0,None]

c=np.array([0.03,0.05,0.08,0.16,0.18]) #目标函数的系数
A_eq=np.array([[1,1,1,1,1]]) #等式约束的系数
B_eq=np.array([80])

res2=op.linprog(c,A_eq,B_eq,bounds=(x1,x2,x3,x4,x5)) #调用函数进行求解
res2

#求解模糊线性规划下的最优解
import numpy as np
from scipy import optimize as op
x1 = [0, None]
x2 = [0, None]
x3 = [0, None]
x4 = [0, None]
x5 = [0, None]
lambd = [0, 1]
d1=28#伸缩变量
d2=12

c = np.array([0, 0, 0, 0, 0, -1])  #目标函数的系数
A_ub = np.array([[-1 * 0.05 / d1, -1 *0.2 / d1, -1 *0.6 / d1, -1 *1.2 / d1, -1 *2 / d1, 1],
                 [0.03 / d2, 0.1 / d2, 0.24 / d2, 0.64 / d2, 0.54 / d2, 1],
                 [1, 1, 1, 1, 1, 0], 
                 [-1, -1, -1, -1, -1, 0]])  #不等式约束条件的系数
B_ub = np.array([1 - 32 / 28, 1.2, 83, -77])
#A_eq=np.array([[1,1,1,1,1,0]]) #等式约束的系数
#B_eq=np.array([80])

res3 = op.linprog(c, A_ub, B_ub, bounds=(x1, x2, x3, x4, x5, lambd))  #调用函数进行求解
res3

你可能感兴趣的:(python应用)