0
昨夜、Stack Overflowを検索し、scipy最適化文書などを調べて、私の問題の答えを見つけることができませんでした。私の質問は、最適化方程式の下限を、上限があるように見える場合に、どのように設定するのですか?以下の私の方程式とコードを見てください。Python Scipy(A_ubの代わりに)下限で最適化
import numpy as np
from scipy.optimize import linprog
from numpy.linalg import solve
c = np.array([4,7,5])
A = np.array([[4,1,10],[3,2,1],[0,4,5]])
b = np.array([10,12,20])
res = linprog(c,A_ub = A,b_ub = b)
print(res)
最小限に(4,7,5)
('Optimal value:', -0.0, '\nX:', array([ 0., 0., 0.]))
fun: -0.0
message: 'Optimization terminated successfully.'
nit: 0
slack: array([ 10., 12., 20.])
status: 0
success: True
x: array([ 0., 0., 0.])
最大化(-4、-7、-5)
('Optimal value:', -37.666666666666664, '\nX:', array([ 0.66666667, 5. ` , 0. ]))`
fun: -37.666666666666664
message: 'Optimization terminated successfully.'
nit: 2
slack: array([ 2.33333333, 0. , 0. ])
status: 0
success: True
x: array([ 0.66666667, 5. , 0. ])
それは最初のもので私に答えを与えている
明らかにすべてゼロを示すx1、x2、x3を最小にする。 2番目の答えは、それぞれが< = 10,< = 12,< = 20の場合に関数を最大化します。これは明らかに上限です。私が必要とするのは、> = 10、> = 12、> = 20という関数に最小化されていることに基づく最良の答えです。
残念ですが、これは簡単です!私はこの上でウェブを這う多くの時間を費やしました...
ありがとうございます!私はとても悪いです...私は今、歴史を学ぶことを学ぶことを試みています=)どうすればあなたをアップアップできますか?私は15未満の評判を持っています...ありがとう! – JoustinJustin
それは心配しないでください。 –