CPLEX Python APIを使用して一連のLP問題を解決しています。 問題の多くは本質的に同じなので、手をパラメータの完全な保存します。私は、多くの人にとって前の問題の解決策を使って暖かいスタートを使いたいと思っています。関数cpx.start.set_start(col_status, row_status, col_primal, row_primal, col_dual, row_dual)
を呼び出すことによって、cpx = cplex.Cplex()
を呼び出します。CPLEXは最適なLP解を見つけるが基底エラーは返さない
この機能は、hereと記載されています。引数のうちの2つ、col_status
とrow_status
は、cpx.solution.basis.get_col_basis()
とcpx.solution.basis.get_row_basis()
を呼び出すことによって取得されます。
しかし、今cpx.solution.basis.get_basis()
戻りCPLEX Error 1262: No basis exists.
を呼び出す
...cpx.solution.status[cpx.solution.get_status()]
は
optimal
を返すと
cpx.solution.get_values()
と
cpx.solution.get_dual_values()
の両方を得ることができることにもかかわらず、
this postによる一つは、空のリストをウォームスタート機能を呼び出すことができます列と行の基本ステータスは次のとおりです。
lastsolution = cpx.solution.get_values()
cpx.start.set_start(col_status=[], row_status=[],
col_primal=lastsolution, row_primal=[],
col_dual=[], row_dual=[])
しかし、これは実際にはCPLEX反復をもう少し行うことになります。なぜもっと不明なのですか?しかし、全体的な目標は明らかにそれほど少なくないことです。
バージョン情報 のPython 2.7.12 CPLEX 12.6.3
http://filedropper.comのようなファイル共有サイトでモデルを(理想的にはSAV形式で)共有できますか?すなわち、 'cpx.solve()'を呼び出した後、 'cpx.solution.basis.get_basis()'を呼び出すときに "CPLEX Error 1262"を取得するモデルです。また、対話型でその動作を再現できますか? – rkersh
現時点ではモデルの共有はできません。さらに、モデルは非常に大きいです。さらに、エラーを再現するためにインタラクティブなコードを数百行作成してデバッグするつもりはありません。ごめんなさい。 – Constantine