変数がリストである、prob._variables
で見つけることができますので、あなたは、あなたが
prob._variables.remove(var)
を使用して変数var
を削除することができると思うだろう何らかの理由でPythonが==
レベルの問題変数を区別しないので、prob._variablesの変数。これによって私はvar1
とvar2
がprob
に関連する任意の二つの変数、
if var1 == var2:
print('Equal')
がある場合は、必ず「平等」を返すことを意味します。 (var1 == var2
を試してはいけません;これは数式として解釈されます) 。これは、あなたがしようとした場合、出力は常に0
ここで私は、happpening何を説明する必要がありますないより良いPythonのを理解して誰かが仕事が周りだとなります
prob._variables.index(var)
使用var
のインデックスを見つけることを意味し:
for i, v in enumerate(prob._variables):
if v is var:
del prob._variables[i]
これは、それに関わるあらゆる制約から変数を削除せず、変数がまだあったかのようにパルプがLP問題を解決するようにそれはそう。だから私はこれがすべて属性prob._variables
を変更すると思います。私はあなたの状況(これは私が本当に理解していない)に役立つとは思えませんが、変数を削除して、古い変数と同じ名前の新しい変数を導入したい場合には必要です。
ドキュメントには何も表示されませんでしたが、私は専門家ではありません。どのような状況でこの機能が必要ですか?それを使用する制約がない場合。まあそれは問題ではありません(ちょうどそれらを保つ)。もしあれば、制約を取り除く方が簡単かもしれません。 – sascha
問題は、実際には役に立たないすべての変数を含む制約が1つあることです。これは合計制約です。この非常に重要な制約の直前にそれらを削除することを望んでいました。 – drizo
この制約は実現可能性/目的を変更しませんか?ソルバーはあまり気にしません。そして、なぜこれらのヴァールやこの制約を加える前にこの*役に立たないと推論できないのですか? – sascha