SoftLinearSeqCompは、モード(operator)と係数(CoffA/CoffB)が追加されています。sc3.AddSoftと常に組みで使います。
ペア制約のリニアペア
制約を実現している内部関数です。
モード | オペレータ |
---|---|
1 | >= |
0 | == |
-1 | <= |
import sc3
for day in 今月:
list新人=[]
list指導者=[]
for person in 全スタッフ:
if person in 新人:
v=sc3.GetShiftVar(person,day,'日勤')
list新人.append(v)
elif person in 指導者:
v=sc3.GetShiftVar(person,day,'日勤')
list指導者.append(v)
s='SoftLinearComp '+daydef[day]
mode=-1#mode=1 >= 0 mode=0 == mode=-1 <=
CoffA=1
CoffB=2
offset=1
allowable_errors=3
sc3.AddSoft(sc3.SoftLinearComp(mode,CoffA,CoffB,offset,allowable_errors,list新人,list指導者),s,5)
上の制約は、次のGUI制約に等価です。