GUIの許容エラーは、通常無視されますが、下記オプションにチェックすると、GUIの許容エラー数の設定が優先されます。
適用制約関数は、次の3種です。
制約関数 | 使用部 |
---|---|
SeqError | allowable_errros |
SoftSeqComp | allowable_errors |
SoftLinearComp | allowable_errors |
次のサンプルソースでは、新人二人で一人にカウントし、合計で10人となるように制約しています。
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='UnaryCounter '+daydef[day]
list=[]
list.append(sc3.UnaryCounter(0,2,list新人))
list.extend(list指導者)
allowable_errors=3
sc3.AddSoft(sc3.SeqError(10,10,allowable_errors,list),s,5)
言語上では、許容エラー3に設定していますが、許容エラーオーバライドオプションがチェックされているために、GUIの方の設定が優先され、許容エラー0(つまりハード制約)となります。