0

次の形式の線形計画問題を解こうとしています。

minimise cT.x
A.x = b
x >= 0

輸送の問題のため。

ただし、CVXOPT を使用するには、lp(G,h,A,b) ソルバーの変数 Gx <= h を定義する必要があります。

A および b 行列を作成しようとしました。G および h 行列については、G には単位行列 (-1 を掛けたもの) を使用し、h にはゼロのベクトルを使用して、x>=0 の制約を課します。

ただし、コードを実行すると、「特異な KKT マトリックス」が返されます。

何が問題なのか、または G 変数と h 変数なしで CVXOPT ソルバーを実行する方法を教えてください。

4

2 に答える 2

0

輸送問題の最適解は、Potential Method を使用して検索されます。Potential Method を使用するには、3 つのラベル方程式を解く必要があります。交通機関の問題などのネットワークの問題は、デュアルの問題を使用して解決する必要があります。

于 2013-06-13T13:05:20.527 に答える
0

あなたの解決策(-G - 単位行列、h - ゼロベクトル)がうまくいくはずです。ここにデータを投稿できます。

例えば:

from cvxopt import matrix, solvers
c = matrix([ 2.0, 1.0 ])
G = matrix(-np.eye(2))
h = matrix(np.zeros(2)) 
A = matrix(np.eye(2))
b = matrix([1., 2.])
sol = solvers.lp(c, G, h, A, b)
print(sol['x'])

Optimal solution found.
[ 1.00e+00]
[ 2.00e+00]
于 2015-04-26T18:39:21.577 に答える