1

私は次のリストfacilityを宣言しましたLpVariable

for fac in range (len(candidates)):
    facility.append(LpVariable("Facility_{0}".format(fac),lowBound=0, upBound=1, cat= pulp.LpInteger ))

私が行うと、すべての LpVariables がデフォルトで None 値を持っているため、問題のprint(value(facility[i]))ない出力が得られます。Noneしかし、私のコードでは 0 で初期化したいのですが、問題を解決するとき、最適解は 0 から 1 の間の任意の値を持つことができます。

for i in range (len(facility)):
        facility[i] = 0

設定されますfacility[i] = 0(整数値で、LpVariable はもうありません)。

value(facility[i]) = 0. これらの変数を初期化するにはどうすればよいですか?

4

2 に答える 2

2

ここでfacility[i].setInitialValue(0.)説明されているように、試すことができます。

PuLP は、呼び出しているソルバーの API から対応するメソッドにこの呼び出しを委譲することに注意してください。したがって、ソルバーがサポートしている場合にのみ機能します。Gurobi と CPLEX がサポートしています。他のソルバーについてはわかりません。

于 2015-10-28T16:01:05.920 に答える