class lslibdata: """class for holding/producing the data required to in problem of the LotSizeLib required fields: MIP DATA * T - number of periods (in the MIP/big bucket model) * Period - the list 1..T, i.e.range(1,T+1) * Prod - list of products * Blck - list of blocks * Compat[p] - (dict) -> list of compatible blocks for each product 'p' * ModelFile - name of the model file in the AMPL syntax * ModelFile - name of the data file in the AMPL syntax """ pass T=8 P=8 B=1 pp08a = lslibdata() pp08a.ModelFile = "pp08a.mod" pp08a.DataFile = "pp08a.dat" pp08a.T = T pp08a.Period = range(1,pp08a.T+1) pp08a.Prod = ["%d" % i for i in range(1,P+1)] pp08a.Blck = ["%d" % i for i in range(1,B+1)] pp08a.Compat = {} for p in pp08a.Prod: pp08a.Compat[p] = pp08a.Blck[:] del T; del P; del B T=4 P=5 B=1 rgna = lslibdata() rgna.ModelFile = "rgna.mod" rgna.DataFile = "rgna.dat" rgna.T = T rgna.Period = range(1,rgna.T+1) rgna.Prod = ["%d" % i for i in range(1,P+1)] rgna.Blck = ["%d" % i for i in range(1,B+1)] rgna.Compat = {} for p in rgna.Prod: rgna.Compat[p] = rgna.Blck[:] del T; del P; del B T=12 P=20 B=1 set1ch = lslibdata() set1ch.ModelFile = "set1ch.mod" set1ch.DataFile = "set1ch.dat" set1ch.T = T set1ch.Period = range(1,set1ch.T+1) set1ch.Prod = ["%d" % i for i in range(1,P+1)] set1ch.Blck = ["%d" % i for i in range(1,B+1)] set1ch.Compat = {} for p in set1ch.Prod: set1ch.Compat[p] = set1ch.Blck[:] del T; del P; del B T=6 P=7 B=4 vpm2a = lslibdata() vpm2a.ModelFile = "vpm2a.mod" vpm2a.DataFile = "vpm2a.dat" vpm2a.T = T vpm2a.Period = range(1,vpm2a.T+1) vpm2a.Prod = ["%d" % i for i in range(1,P+1)] vpm2a.Blck = ["%d" % i for i in range(1,B+1)] vpm2a.Compat = {} for p in vpm2a.Prod: vpm2a.Compat[p] = vpm2a.Blck[:] del T; del P; del B T=30 P=24 B=1 tr24_30 = lslibdata() tr24_30.ModelFile = "tr24_30.mod" tr24_30.DataFile = "tr24_30.dat" tr24_30.T = T tr24_30.Period = range(1,tr24_30.T+1) tr24_30.Prod = ["%d" % i for i in range(1,P+1)] tr24_30.Blck = ["%d" % i for i in range(1,B+1)] tr24_30.Compat = {} for p in tr24_30.Prod: tr24_30.Compat[p] = tr24_30.Blck[:] del T; del P; del B T=15 P=6 B=1 tr6_15 = lslibdata() tr6_15.ModelFile = "tr6_15.mod" tr6_15.DataFile = "tr6_15.dat" tr6_15.T = T tr6_15.Period = range(1,tr6_15.T+1) tr6_15.Prod = ["%d" % i for i in range(1,P+1)] tr6_15.Blck = ["%d" % i for i in range(1,B+1)] tr6_15.Compat = {} for p in tr6_15.Prod: tr6_15.Compat[p] = tr6_15.Blck[:] del T; del P; del B T=30 P=6 B=1 tr6_30 = lslibdata() tr6_30.ModelFile = "tr6_30.mod" tr6_30.DataFile = "tr6_30.dat" tr6_30.T = T tr6_30.Period = range(1,tr6_30.T+1) tr6_30.Prod = ["%d" % i for i in range(1,P+1)] tr6_30.Blck = ["%d" % i for i in range(1,B+1)] tr6_30.Compat = {} for p in tr6_30.Prod: tr6_30.Compat[p] = tr6_30.Blck[:] del T; del P; del B T=30 P=12 B=1 tr12_30 = lslibdata() tr12_30.ModelFile = "tr12_30.mod" tr12_30.DataFile = "tr12_30.dat" tr12_30.T = T tr12_30.Period = range(1,tr12_30.T+1) tr12_30.Prod = ["%d" % i for i in range(1,P+1)] tr12_30.Blck = ["%d" % i for i in range(1,B+1)] tr12_30.Compat = {} for p in tr12_30.Prod: tr12_30.Compat[p] = tr12_30.Blck[:] del T; del P; del B