2016-08-19 4 views
0

現在、MIPの問題に取り組んでいます。ここでは、タイプ2(SOS2)の特別注文セットを利用できます。特別注文セットで使用する重量は?

私の問題は、私は完全なセットを理解していないこと、です。この理由は、自分のSOS2の変数に割り当てる必要がある重みのためです。

私は私が割り当てる必要があります正確に何を確認していません。私のセットにはかなり明確な順序がありますが、私は重みがどうあるべきか分かりませんし、ちょうど1,2,3を割り当てています... nは正しくないと思いますか?

だから私の質問は、誰かが特別なの変数の重みがセットがあり、どのような値、彼らが割り当てられるべきで注文したものを私に説明することができますか?

答えて

0

まず、注文を定義します。特にSOS2セットの場合、隣人の概念があります.SOS2セットでは、2つの隣接変数だけが非負である可能性があります。ソルバーの中には、分岐決定に重みを使用するものもあります。これは、x値が(1,2,3,10000)の場合に便利です。したがって、ソルバーのドキュメントを参照してください。一般的には、体重は一意でなければなりません。 (1,2,3,...)を使用することはしばしば良いデフォルトです。そうでない場合は、x値のようなものを使用します(y軸に平行なセグメントがないと仮定します)。多くの場合、2値変数を有する製剤は、SOS製剤を上回るであろう

注意(これは特に、バイナリ変数を有する製剤にスマートカットを適用することができるハイエンドソルバの場合です)。ソルバーによっては、バイナリ変数を使用していくつかのSOSセットを自動的にフォームに再定式化する試みもあります。

+0

お返事ありがとうございます。私の場合にSOS2を使用する理由は、私は隣接するプロパティが必要です。私がネット上で読むことができる限り、あなたがセットで自然順序付けをしていれば、一般にSOSはバイナリ形式よりも優れています。 –

+0

私はその声明に同意しないと思います。カウンターたとえば、[http://yetanothermathprogrammingconsultant.blogspot.com/2015/10/piecewise-linear-functions-in-mip-models.html](http://yetanothermathprogrammingconsultant.blogspot.com/2015/10/piecewiseを参照してください-linear-functions-in-mip-models.html)を参照してください。 –

+0

私はCPLEXをソルバーとして使用しています。私は、さまざまなソルバーに異なる戦略を使用し、私が知らない場面で何が起こるのか、同意します。しかし、CPLEXのウェブサイトによれば、私の声明は以下のとおりです。 http://www.ibm.com/support/knowledgecenter/SSSA5P_12.2.0/ilog.odms.cplex.help/Content/Optimization/Documentation/CPLEX /_pubskel/CPLEX636.html でも、私はSOS2を使用しています。隣接するプロパティではなく、それらの利点があります。 –

関連する問題