mdl.add_constraint( (mdl.sum(Y[(c,d)] for c in range(0,C) for d in range(0,D)) <= E_c.sum() * PMS.b) )#33 mdl.add_constraints( (mdl.sum(Y[(c,d)] for c in range(0,C)) <= E_c.sum() * PMS.k ) for d in range(0,D))#34 return mdl, Y if __name__ == '__main__': #case = Case({"C":5,"U":200,"H":3, "D":7, "I":3, "P":3})#3 case = Case({"C":10,"U":2000,"H":3, "D":7, "I":3, "P":3})#6 solution = Solution("Many") PMS:Parameters = solution.generate_parameters(case, None) C = case.arguments["C"] # number of campaigns U = case.arguments["U"] # number of customers. H = case.arguments["H"] # number of channels. D = case.arguments["D"] # number of planning days. I = case.arguments["I"] # number of planning days. mdl, Y = start_model(C, D, I, PMS) # print(mdl.objective_expr) # for consts in mdl.iter_constraints(): # print(consts) E_c = PMS.e_cu.sum(axis=1) L_c = (PMS.l_c*E_c) E_d_i = (PMS.q_ic @ E_c.reshape(C,1)).reshape(I,)
#!/usr/bin/env python """ This script auto-generates a sample on-disk dataset for testing. """ import numpy as np import os import pandas as pd import xarray as xr from experiment import Experiment, Case PATH_TO_DATA = os.path.join(os.path.dirname(__file__), "sample") cases = [ Case("param1", "Parameter 1", ["a", "b", "c"]), Case("param2", "Parameter 2", [1, 2, 3]), Case("param3", "Parameter 3", ["alpha", "beta"]), ] exp = Experiment( "sample", cases, timeseries=True, data_dir=PATH_TO_DATA, case_path="{param1}_{param2}", output_prefix="{param1}.{param2}.{param3}.", output_suffix=".tape.nc", validate_data=False ) VARS = ["temp", "pres", "precip"] def _make_dataset(varname, seed=None, **var_kws): rs = np.random.RandomState(seed)
if __name__ == '__main__': cases = [ # Case({"C":2,"U":100,"H":3, "D":7, "I":3, "P":3}),#1 # Case({"C":5,"U":100,"H":3, "D":7, "I":3, "P":3}),#2 # Case({"C":5,"U":200,"H":3, "D":7, "I":3, "P":3}),#3 # Case({"C":5,"U":1000,"H":3, "D":7, "I":3, "P":3}),#4 # Case({"C":10,"U":1000,"H":3, "D":7, "I":3, "P":3}),#5 # Case({"C":10,"U":2000,"H":3, "D":7, "I":3, "P":3}),#6 # Case({"C":10,"U":3000,"H":3, "D":7, "I":3, "P":3}),#7 # Case({"C":10,"U":4000,"H":3, "D":7, "I":3, "P":3}),#8 # Case({"C":10,"U":5000,"H":3, "D":7, "I":3, "P":3}),#9 # Case({"C":20,"U":10000,"H":3, "D":7, "I":3, "P":3}),#10 Case({ "C": 20, "U": 20000, "H": 3, "D": 7, "I": 3, "P": 3 }), #11 # Case({"C":20,"U":30000,"H":3, "D":7, "I":3, "P":3}), # Case({"C":20,"U":40000,"H":3, "D":7, "I":3, "P":3}), # Case({"C":20,"U":50000,"H":3, "D":7, "I":3, "P":3}) ] expr = Experiment(cases) solutions = expr.run_cases_with(LpRelSolution()) for solution in solutions: print(solution) # #<case: {'C': 5, 'U': 100, 'H': 3, 'D': 7, 'I': 3, 'P': 3}, value: 12180, duration: 1.5658> #<case: {'C': 10, 'U': 1000, 'H': 3, 'D': 7, 'I': 3, 'P': 3}, value: 341667, duration: 29.2164>