問題タブ [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 に答える
2117 参照

visual-studio - make: cl: コマンドが見つかりません

Visual Studio 2015 に Google OR-Tools for Java をインストールしようとしています。make all必要に応じて、OR-Tools ディレクトリで実行すると、

変数を設定するために実行する場所を読みましvcvarsall.batたが、このパスにそのようなファイルはありません

さらに、ネイティブ ツール コマンド プロンプトで実行することになっていますが、VS2015 ではこれが見つからず、VS2017 でしか見つからないため、開発者コマンド プロンプトで実行します。これが問題ではないでしょうか?

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

c# - 変数ソリューション値にアクセスするときの AccessViolationException

OR ツールを利用して、リアルタイムの .NET アプリケーションで線形最適化を解決してきました。つまり、時間の経過とともにさまざまな入力を使用して定期的に線形最適化を解決します。

最近、アプリケーションをサーバー上で長時間実行しているときに、これまで見たことのない問題に遭遇しました。この問題では、一見ランダムに最適化を解決しようとすると、AccessViolationExceptions が発生していました。具体的には、

Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.AccessViolationException at Google.OrTools.LinearSolver.operations_research_linear_solverPINVOKE.Variable_SolutionValue(System.Runtime.InteropServices.HandleRef) ...

これがパイプラインのどこで起こっているかをより具体的に調べようとしていますが、そこにある出力を考えると、最適化を解決した後に個々の変数のソリューション値をソルバーから取得しようとしているセクションだと思います。

適切なサイズの変数に対して、さまざまな制約を使用しています。

誰もこれを見たことがありますか?

0 投票する
2 に答える
515 参照

logic - 制約プログラミング: パターン ルールに従ってグリッドを色で塗りつぶす

私は制約プログラミング(C#から来た)が初めてで、この問題を解決しようとしています。残念ながら、この種のパズルの名前がないので、何を検索すればよいかわかりません。私が見つけることができる最も近い例は、ノノグラムとトモグラフィーのパズルです。

パズルの説明: プレーヤーには空のゲーム ボード (さまざまなサイズ) が与えられ、行と列の手がかりパターンを使用して n 色で埋めなければなりません。各手がかりパターンは、その行/列の一連の色ですが、連続する重複が削除されています。

これは、3 色の簡単な小さな 4x4 グリッドの例です。

ソリューション (2):

? 赤または青のいずれかになりますが、緑にはなりません。

以下パターン例。パターン化する長さ 6 のシーケンスの例:

可能性のあるソリューション シーケンスのパターンを指定した例:

C# or-tools と MiniZinc で解決しようとしましたが、最大の問題は制約を構築することです。シーケンスからパターンを生成できますが (C# 命令型の方法で)、それを制約に変換するにはどうすればよいですか?

私はそれについてどのように考えていますか: 各手がかりパターンからすべての潜在的なシーケンスを生成します。次に、対応する行/列に対して、それらのシーケンスの 1 つでなければならないという制約を作成します。

上記のパズルの一番上の行の例: rgb から [4 長さのシーケンス] -> rgbb、rggb、rrgb、そしてその行の制約を追加: これらのシーケンスのいずれかに等しくなければなりません。

私はこれについて正しく考えていますか?それを行うためのよりスマートな方法はありますか?

アドバイスをありがとう。

=====================================

いくつかの進行後に編集します。

この MiniZinc は、aabc、abbc、abcc の 4 つの長さの 3 つのソリューションを持つパターン abc の一番上の行を正しく解決します。

ただし、このようなすべてをハードコーディングする以外の多くのパターンで大きなグリッドを処理する方法がわかりません。もう少し実験します。