問題タブ [or-tools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
495 参照

constraint-programming - 動的部分行列を取得して制約を適用する

私は制約プログラミングが初めてで、数値で構成される 2 次元配列から、元の 2D 配列をできるだけ多くカバーして、可能な限り最小限のサブ配列 (2D) を取得する必要があるという問題を解決しようとしています。可能な限り、次の規則に従います。

  • すべてのサブ配列は、元の長方形の部分でなければなりません
  • 各サブ配列の数値の合計は、特定の数値を超えてはなりません
  • すべてのサブ配列には、少なくとも 2 つの数値が含まれている必要があります

たとえば、次のマトリックスの場合:

最大合計が 10 の場合、ソリューションは次のようになります。

現在、or-tools ( MakeNonOverlappingBoxesConstraint() ) に相当するdiffn()を使用して、元の配列を覆う四角形を作成しています。

私の問題は、diffn() によって作成された四角形を取得し、それぞれの位置とサイズに基づいて元のマトリックスを分割する方法です。そのため、Sum制約を適用できます。

diffn() を使用せずに同じ制約を達成する別の方法がある場合は、それを試してみますが、他の方法は考えられません。

ありがとうございました!

0 投票する
1 に答える
148 参照

python - ortools の LocalSearchMetaheuristic の AUTOMATIC 設定は何をしますか?

私は OR-Tools を使用しており、これまでデフォルトのパラメーターを使用してきました。ほとんどの場合、さまざまなシナリオで正しく機能しています。ただし、計算が止まらない場合もあります。パラメータを設定しtime_limit_msたところ、デフォルトでLocalSearchMetaheuristicに設定されていることがわかりましたAUTOMATIC。どういう意味ですか?どのようにLocalSearchMetaheuristic選ばれますか?GREEDY_DESCENT設定していないのでいつもtime_limit_msですか?

すでにグーグルで検索しようとしましたが、この関数/パラメーターが宣言されているドキュメントやコードは見つかりませんでした。