12/03/01 20:53:27.66
まぁベタだがPCにのみできるアルゴリズム。
まず、どの状態が良いか、悪いかという評価式を用意する。
たとえば、連勤=-10、などなど。
後は、
1.絶対動かせない人をまず配置する。
2.比較的動かせない人を、その枠にそって(たとえば火・金は勤務可であれば、どちらかに)あてずっぽに配置する。
3.そっから、あてずっぽうで余った人を置いていく。
それを、2を数10回、さらにそれに対して3を数10回ずつやる。
その中で、一番スコアの高かった表が、比較的よいシフト表な。
明らかに悪い表しか出てこなかったら、スコアの評価式変えろ。
ファジィ()。