Beispiel #1
0
    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,)
Beispiel #2
0
#!/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)
Beispiel #3
0
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>