单纯形法python程序_Python-linprog最小化——单纯形法

我正在使用scipy.optimize.linprog库使用单纯形方法计算最小化。我正在课本上写这个问题,我希望有人能给我指出正确的方向,因为我没有得到我期望的结果。问题是:Minimize w = 10*y1 + 15*y2 + 25*y3

Subject to: y1 + y2 + y3 >= 1000

y1 - 2*y2 >= 0

y3 >= 340

with y1 >= 0, y2 >= 0

我为此编写的代码是:import numpy as np

import pandas as pd

from scipy.optimize import linprog

A = np.array([

[1, 1, 1],

[1,-2, 0],

[0, 0, 1]])

b = np.array([1000,0,340])

c = np.array([-10,-15,-25])

res = linprog(c, A_ub=A, b_ub=b,

bounds=(0, None))

print('Optimal value:', res.fun, '\nX:', res.x)

它给出了输出:Optimal value: -18400.0

X: [ 0. 660. 340.]

我希望是:Optimal value: -15100.0

X: [ 660. 0. 340.]

我似乎找不到这个函数的一致性,但也许这就是我使用它的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值