parameters_default_values = {
    "Stock": {
        #'id',
        #'Label',
        "PlantName": "",
        "Step": "",
        "PartId": "",
        "MinimalStock": -1,
        "MaximalStock": None,
        #'InitialStock',
        #'InitialValue',
        #'IsInfinite',
        "PurchasingUnitCosts": {},
        "CO2UnitEmissions": {},
        "UnitIncomes": {},
        "BacklogWeight": 1,
        "MaximizationWeight": 0,
        "StockPolicy": "None",
        "SourcingPolicy": "Equidistribution",
        "DispatchPolicy": "Equidistribution",
        "ReviewPeriod": 1,
        "FirstReview": 0,
        "Advance": 0,
        "StorageUnitCosts": {},
        "OrderPoints": {},
        "OrderQuantities": {},
        "OrderUpToLevels": {},
        "SafetyQuantities": {},
        "Demands": {},
        "DemandUncertainties": {},
        "DemandWeights": {},
        "SalesForecasts": {},
    },
    "Transport": {
        #'Label',
        #'source',
        #'target',
        #'Duration',
        "Priority": 0,
        "CustomFees": {},
        "TransportUnitCosts": {},
        "CO2UnitEmissions": {},
        "ActualDurations": {},
        "MinimumOrderQuantities": {},
        "MultipleOrderQuantities": {},
        "TransportUncertaintiesParameter1": {},
        "TransportUncertaintiesParameter2": {},
        "TransportUncertaintiesParameter3": {},
        "TransportUncertaintiesParameter4": {},
        "InitialTransportedQuantities": {},
        "InitialTransportedValues": {},
    },
    "Configuration": {
        "ActivateUncertainties": False,
        "ActivateVariableMachineOpeningRate": False,
        "BatchSize": 0,
        "EmptyObsoleteStocks": False,
        "EnforceProductionPlan": False,
        "FinancialCostOfStock": 0,
        "ManageBacklogQuantities": False,
        "OptimizationObjective": "ServiceLevelMaximization",
        "SimulatedCycles": 1,
        #'StartingDate',
        "StepsPerCycle": 1,
        "TimeStepDuration": 1440,
        "UncertaintiesProbabilityDistribution": "Uniform",
        "IntermediaryStockDispatchPolicy": "DispatchAll",
        "TransportUncertaintiesProbabilityDistribution": "discreteuniform",
        "ActualizeShipments": False,
    },
    "contains": {
        #'source',
        #'target',
    },
    "output": {
        #'source',
        #'target',
    },
    "input": {
        #'source',
        #'target',
        "InputQuantity": 1,
    },
    "ProductionResource": {
        #'id',
        #'Label',
        "PlantName": "",
        "ProductionStep": "",
        "ProductionPolicy": "Equidistribution",
        "FixedProductionCosts": {},
        #'OpeningTimes',
    },
    "ProductionOperation": {
        #'id',
        #'Label',
        "PlantName": "",
        "IsContractor": False,
        "InvestmentCost": 0,
        "Priority": 0,
        "Duration": 0,
        "QuantitiesToProduce": {},
        "OperatingPerformances": {},
        "CycleTimes": {},
        "RejectRates": {},
        "OperatingPerformanceUncertainties": {},
        "ProductionUnitCosts": {},
        "CO2UnitEmissions": {},
        "MinimumOrderQuantities": {},
        "MultipleOrderQuantities": {},
    },
}
variables_default_values = {
    "Stock": {
        "StorageUnitCosts": 0,
        "OrderPoints": 0,
        "OrderQuantities": 0,
        "OrderUpToLevels": 0,
        "SafetyQuantities": 0,
        "Demands": 0,
        "DemandUncertainties": 0,
        "DemandWeights": 1,
        "SalesForecasts": 0,
        "PurchasingUnitCosts": 0,
        "CO2UnitEmissions": 0,
        "UnitIncomes": 0,
    },
    "Transport": {
        "CustomFees": 0,
        "TransportUnitCosts": 0,
        "CO2UnitEmissions": 0,
        #'ActualDurations': parameters_default_values['Transport']['Duration'],
        "MinimumOrderQuantities": 0,
        "MultipleOrderQuantities": 0,
        "InitialTransportedQuantities": 0,
        "InitialTransportedValues": 0,
    },
    "Configuration": {},
    "contains": {},
    "output": {},
    "input": {},
    "ProductionResource": {
        "FixedProductionCosts": 0,
    },
    "ProductionOperation": {
        "QuantitiesToProduce": 0,
        "OperatingPerformances": 1,
        "CycleTimes": 1,
        "RejectRates": 0,
        "OperatingPerformanceUncertainties": 0,
        "ProductionUnitCosts": 0,
        "CO2UnitEmissions": 0,
        "MinimumOrderQuantities": 0,
        "MultipleOrderQuantities": 0,
    },
}
