SeqCompは、代休を実現するときに使います。sc3.AddHardと常に組みで使います。

import sc3

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

    for day in 今月:
        v=sc3.GetShiftVar(person,day,'訪問')
        vD=sc3.GetShiftVar(person,day,'代休')
        vH=sc3.GetShiftVar(person,day,'半休')
        if day in 土:
            土WORKCNT.append(v)
            sc3.AddHard(~vD,'土曜日は代休なし'+str(person))
            sc3.AddHard(~vH,'土曜日は半休なし'+str(person))
        elif day in 日:
            日WORKCNT.append(v)
            sc3.AddHard(~vD,'日曜日は代休なし'+str(person))
            sc3.AddHard(~vH,'日曜日は半休なし'+str(person))
        else:
            代CNT.append(vD)
            半CNT.append(vH)
        vlist.append(v)
    sc3.AddHard(sc3.SeqComp(半CNT,土WORKCNT),'seqComp+str(person)')
    sc3.AddHard(sc3.SeqComp(代CNT,日WORKCNT),'seqComp+str(person)')

sc3.SeqComp(List1,List2)

List1の要素をX(i)、List2の要素をY(i)とするときΣX(i)==ΣY(i)のとき、Trueを返す関数です。AddHardと組み合わせるとΣX(i)==ΣY(i) となるように制約します。