こちらは、英文を和訳した回答を記載しています。

マニュアルが整備されていなくて申し訳ありません。 説明の都合上、順不同で回答します。 また、例で用いたプロジェクトは、以下です。

https://www.nurse-scheduling-software.com/manuals/python_manuals/chapter15/



Change Algorithm

Algorithm1-4まであります。Defaultは、Algorithm1です。殆どのプロジェクトでは、Algorithm1が、最速・安定・適切です。後ほど述べるのように、原因解析機構が付いているのはAlgorithm1のみですので、最初は、Algorithm1の使用し、プロジェクトをデバッグすることをお勧めします。

Algorithm1は、SAT ヒューリスティック系による実装です。準最適解を高速に出力します。

Algorithm2は、オープンソースMIPソルバ、エジンバラ大学ジュリアンホール教授らによるHighsです。厳密解が見つかるまで終了しません。

Algorithm3/4は、数理ソルバによる実装です。主に、アカデミックベンチマーク用途になります。厳密解が算出できるまで終了しません。



Number Of Solutions

解の個数を指定します。有効なのは、Algorithm1のシフトプロジェクトのみです。タスク付きプロジェクトでは無効です。通常は1でよいでしょう。


次の例では、10を指定して、10個の別解を得ています。



Number Of CPUs

Algorithm1にて使用するCPUの個数です。Algorithm2は、CPU数は、1固定、Algorithm3/4では、利用可能な全てのCPUを使用します。
残念ながら、複数のCPU数を指定しても、常に改善するという訳ではありません。求解毎に異なる結果となるので、1で良いと思います。

Hard Timeout

Algorithm1の求解プロセスは、二つに分かれています。
一つ目は、全てのハード制約を満たす解を見つけるプロセスになります。通常、数秒内にこれを見つけ出しますが、60秒を超えるプロジェクトもまれに存在します。
特に大規模になればなるほど、この傾向は強まります。Hard Timeoutの値は、規模に応じて大きくする必要があります。



Soft Timeout

2番目のプロセスは、ソフト制約の最適化です。このプロセスでは、右ペイン上に数値が表示されます。

一番目のハード制約を満たす求解プロセスが終了した後に、最適化プロセスが始まります。

下の例では、最適化は、目的関数値176、時間0.013秒からスタートし、徐々に減少する様子が表示されています。 最初の最適化解が出てくるまでが、0.013秒なので、この例の場合、Hard Timeoutは、0.013秒あれば十分、ということになります。



最適化プロセスでは、内部的にいくつかのフェーズに分かれており、各々のタイムアウト時間がSoft Timeout になります。通常は、10秒-20秒に設定すればよいでしょう。

Final Soft Timeout

最適化プロセスにおける最終フェーズのソフトタイムアウト値になります。

ソフトタイムアウトは、長くすればするほど、厳密解に近づきます。必要に応じて調整してください。



Use Language Constraint

Python制約を使う場合にチェックしてください

https://www.nurse-scheduling-software.com/manuals/python_manuals/



Python Post Operation

Pythonで、解を整形出力したい場合にチェックしてください。(Use Language Constraintのチェックも必要です。)
Python制約とは、別のプロセスになります。

例えば、搭載Pywin32を用いて、以下のようにExcelシートにユーザ独自フォーマットで解を出力することが出来ます。





Overwride allowable errors on Python

次のPython制約関数において、allowable errorsは、言語で固定されていて変更することは出来ません。

■sc3.SeqError(min,max,allowable_errors,list)

■sc3.SoftSeqComp(offset,allowable_errors,listA,listB)

■sc3.SoftLinearComp(eq_mode, CoffA, CoffB, offset, allowable_errors,listA,listB);

しかし、Python許容エラーオーバライドをオンすると、求解パラメータの許容エラーの値が

オーバライドされます。これにより、Pythonソースをいじらなくても、許容エラーを可変することのが可能になります。

下の例では、Pythonソース上は、4の許容エラーをGUIで1にしています。Python許容エラーオーバライドをオンすると、求解パラメータの方が優先され、許容値は1となります。 つまり、4±1にハード制約化することになります。結果、解もその範囲に収まっていることが分かります。



Error Analysis

原因解析を行います。Algorithm1のみ有効です。チェックしてください。

チェックすると原因解析機構が働きます。
例えば、上の例の続きで、予定入力をハード制約として、Pythonの制約の許容エラーを0としてみます。



すると、全てがハード制約となります。その結果制約の矛盾により解が存在しなくなります。 しかし、原因解析が働き、下図のように、要因をヒントとして列挙することが出来ます。



ダブルクリックすることで、当該制約箇所にジャンプします。

Other Items

その他の項目については、Obsoleteです。Defaultの状態としてください。