2

cumulative/2述語のカスタム バージョン(または少なくとも機能面で同様の述語) をプログラムしたいと考えています。私は CLP(FD) ライブラリのソースを探しましたが、そのライブラリを (新しいものを追加するだけで) 新しいものを組み込むためにmy_cumulative/2ライブラリのプライベート述語を利用できるように変更するのが良い考えであるかどうか疑問に思っていました。 .

次の機能を追加したい:

  • タスク プランナーをプリエンプティブにしたい (つまり、計画されたタスクをいくつかの時間間隔で「分割」できることを意味します)。
  • 累積的であることとは別に、マルチリソースにしたい (つまり、[limit(3)]たとえば、[limit(2),limit(3),limit(1)]各制限が異なるリソースに対応する ; の代わりに)
  • 各タスクに優先度を追加して、優先度の高いタスクがより多くの「決定力」を持ち、優先度の低いタスクによってスケジュールされていないままになることがないようにしたいと考えています。
  • 「スケジュール不可」のソリューションを、タスクの可能なソリューションにしたいと考えています。

/\このアイデアは、交点を計算するカスタム演算子を追加しようとしていたときに思いつきました(同様に\/ユニオンを示します)。実際には clpfd.pl で既に定義されているが、モジュールの一部にはなっていないことがわかりました。

4

2 に答える 2