問題タブ [minizinc]
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.
output - この MiniZinc 出力ステートメントをコンパイルするにはどうすればよいですか?
これを MiniZinc でコンパイルするように修正するにはどうすればよいですか。
いくつかの方法を試しました。
floating-point - MiniZinc でこのエラーを解決するにはどうすればよいですか?
MiniZinc で、「このシグネチャを持つ関数または述語が見つかりません: `round(var float)'」というエラーなしでこのコードをコンパイルするにはどうすればよいですか?
minizinc - MiniZinc でデータ ファイルをセットアップする方法は?
[構成] タブに追加の引数を入れます: C:\data\j.dzn 暗号的に応答する: エラー: ファイル拡張子 dzn を処理できません". 使用法: mzn2fzn [] [-I] .mzn [.dzn ...]
optimization - この MiniZinc アプリを最適化する方法は?
入力データの低コスト順列を見つけて、何かの「コスト」を最小限に抑えたい MiniZinc アプリがあります。ので、私は持っています:
次に、Seq に基づいてコストを計算します。アプリは動作し始めていますが、実行時間が長すぎて、n が非常に小さい数を超えています。どうやら、ソルバーはすべての n! を試します。可能性。これをどのようにスケーリングしますか?
constraints - Minizinc ソフト制約の問題
利用可能な部屋と期間でいくつかの試験をスケジュールする必要がある Minizinc コードの問題に直面しています。このソフト制約の定義に問題があるだけなので、問題とコード全体をスキップします。
一部の試験は排他的またはそうでないものとしてターゲットにされています。つまり、自分自身のための余地が必要です。これはソフト制約であるため、違反の数を最小限に抑える必要があります。実際、専用の部屋を必要とする試験の同じ部屋と期間でスケジュールされた各試験は、1 つの違反としてカウントされます。
この制約に役立つデータと変数は次のとおりです。
- 試験(予定されている試験の数)
- room_exclusive (各試験で必要な排他性を表すブール値のベクトル)
- room_assignment (各検査に割り当てられた部屋の変数ベクトル)
- period_assignment (試験に割り当てられた期間の変数ベクトル)
- roomexclusivity (各試験の排他性違反をカウントする int ベクトル)
- roomexclusivity_violations (違反の総数)。
たとえば、4 つの試験が部屋を共有し、そのうちの 2 つが専用の部屋を必要とする場合、違反の合計数は 6 です。これらの 2 つのそれぞれには、同じ部屋で別の 3 つの試験があります。
最初に排他的な試験を見つけ、次に他の試験と部屋と期間を共有しているかどうかを確認するために、各試験で 2 サイクルのコントロールを作成することを考えました。問題はsum(e2 in 1..Exams, e1!=e2)にある可能性があります。これは、 Minzinc 構文でe1!=e2を配置するのが正しいかどうかわからないまま書いたためです。
私が得るエラーは(roomexclusivity [e1] ..行:
constraints - スケジュール minizinc 重複なし
スケジュールが重複しないようにしたいのですが、1つの時間帯に1人の先生しか予約できません。行とタイムスロットが列である教師のような2darrayを作成したい。
optimization - 制約プログラミングによる最適化
以下の方程式を制約プログラミング言語で表現して解きたいです。
変数 t があり、目的関数を最小化する最適な乗数 k を見つけようとしています。
時間: t1、t2、t3... 入力で指定
乗算器 k1、k2、k3... (これは見つける必要がある連続変数です)
c1、c2、.. cN は定数です
主方程式 k1*sin(c1*x)+k2*sin(c2*x)+k3*sin(c3*x)+k4*cos(c1*x)...
問題は、(k1、k2、k3..) の可能な限り最良の値を使用して、以下のすべての方程式の結果を最小化することです。また、問題に対する正確な解決策がないことも知られています。したがって、
x が t1 の場合 --> P1-k1*sin(c1*t1)-k2*sin(c2*t1)-k3*sin(c3*t1)-k4*cos(c1*t1)
... x は t2 --> P2-k1*sin(c1*t2)-k2*sin(c2*t2)-k3*sin(c3*t2)-k4*cos(c1*t2)...
x が t3 の場合--> P3-k1*sin(c1*t3)-k2*sin(c2*t3)-k3*sin(c3*t3)-k4*cos(c1*t3)...
P1 は、時間変数のバインドされた値です。しかし、P(t) は分析関数ではありません。t1 = 5 P1=0.7 t2= 6 P2= 0.3 などの場合のように、値を持っているだけです。
これを minizinc または他の CP システムで解決することは可能ですか?