Python チュートリアル6 では、不等式を専用の関数を使って制約します。

5個の月曜日のうち、1日だけ公休ではない月曜日がある、=4日だけ公休の月曜日がある、という仕様を実現します。

import sc3
import itertools

for person in 全スタッフ:
    vlist=[]
    s='言語公休回数'+' '+staffdef[person]+'\n'

    for day in 月:
        v=sc3.GetShiftVar(person,day,'公休')
        vlist.append(v)
    sc3.AddHard(sc3.SeqLE(4,4,vlist),s)

Python チュートリアル5 と同じ仕様を実現しています。

sc3.SeqLE(min,max,List)

不等式の書式は、上の通りです。Listは、シフトVariable、または、他のAnd/Or,Not等の演算結果によるVariableのListである必要があります。