スケジューリングシステムを設計・選定する情報システム部門や技術者にとって、ハード制約とソフト制約の分離という概念は設計上の最重要課題のひとつだ。
この分離が正しく実装されているかどうかが、システムが現場で使われるかどうかを決定的に左右する。
こうした技術的な問いに対して、スケジューリングの自動化という観点から開発されているのがshiftect.であり、ハード制約とソフト制約の分離をどう設計に組み込むかという問いに対して、特願2026-026989として出願している技術の中に明確な答えを持っている。
ハード制約とは何か。
絶対に破れない条件だ。
一つでも違反すれば配置は成立しない。
個別指導塾であれば、生徒の受講不可日時・講師の勤務不可日時・NGペア・教室のブース数がこれに該当する。
施設介護であれば、人員配置基準・勤務間インターバル・必要資格がこれに該当する。
訪問介護であれば、拘束時間上限・移動時間制約・介護保険法上のサービス提供条件がこれに該当する。
shiftect.の設計では、ハード制約は条件情報DBにFC(成立チェック)として定義され、成立性判定に使用される。
ハード制約を満たさない候補は探索空間から除外され、候補として上がらない。
ソフト制約とは何か。
可能な限り守りたい条件だ。
違反しても配置は成立するが、違反するほど配置の質が下がる。
個別指導塾であれば、兄弟の同時受講希望・小学生の早い時間への配置優先・講師の連続稼働回避がこれに該当する。
施設介護であれば、職員の希望休・連続勤務回避・負荷分散がこれに該当する。
shiftect.の設計では、ソフト制約は条件情報DBにEV(配置優先ルール)として定義され、重み付きスコアとして評価される。
ハード制約を満たす候補の中から、ソフト制約のスコアが最も高い配置が選択される。
この二層の分離が設計上なぜ重要なのか。
分離されていないシステムでは、全ての条件を同等に扱うか、あるいは違反の許容度を数値で調整するかという設計になりがちだ。
この設計では「絶対に守らなければならない条件」と「できれば守りたい条件」の境界が曖昧になり、ハード制約を破った配置が出力される可能性がある。
現場でハード制約違反が発生すれば、システムへの信頼は一度で失われる。
ハード制約とソフト制約を分離し、ハード制約を成立性判定に、ソフト制約を評価基準として明確に役割分担することで、ハード制約を必ず守りながら最も品質の高い配置を選択できる構造が成立する。
shiftect.はこの設計思想に基づいており、条件情報DBにおいてFC・SS・AC・EVという分類で制約条件を構造化して保持している。