Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.

 View Only
  • 1.  Truck Type (infinite number of them) vs Orders

    Posted Wed June 29, 2022 10:10 AM
    The goal of the python model below is to choose the trucks with total minimum cost to fulfill all orders. I treat the truck type as 1 truck in the following code, but in fact, a truck type can have infinite number of truck, in that case, how should I modified the constraints and objective functions to fit that?


    import pandas as pd
    import docplex.mp
    from docplex.mp.model import Model
    df_order = pd.DataFrame([[1,5000],[2,1000],[3,2000]], columns =['OrderID','Weight'])
    orders = df_order['OrderID'].values.tolist()
    df_order.set_index('OrderID', inplace=True)

    df_truck_types = pd.DataFrame([[1,'TYPE1',20000,'SP TRANSPORTS',40000],[2,'TYPE2',20000,'SP TRANSPORTS',40000],[3,'TYPE3',10000,'SP TRANSPORTS',30000]], columns =['TruckTypeID','VehicleType','Capacity','Transporter','TruckCost'])
    truck_types = df_truck_types['TruckTypeID'].values.tolist()
    df_truck_types.set_index('TruckTypeID', inplace=True)

    def get_order(o):
    return df_order.loc[o]

    def get_truck_type(f):
    return df_truck_types.loc[f]

    # Decision Variable and Objective Function
    mdl = Model(name='itc_load_planning')

    Assignment = mdl.binary_var_matrix(orders, truck_types, name='Assignment')
    #for objective 1
    TruckCost=mdl.sum(Assignment[o,f] * get_truck_type(f).TruckCost for o in orders for f in truck_types)

    mdl.minimize(TruckCost)

    # C1
    for o in orders:
    mdl.add_constraint(mdl.sum(Assignment[o,f] for f in truck_types)==1, "C1")

    # solve model
    print("===solution===")
    si = mdl.solve()
    mdl.print_solution()

    ------------------------------
    Jack Tan
    ------------------------------

    #DecisionOptimization


  • 2.  RE: Truck Type (infinite number of them) vs Orders

    Posted Thu June 30, 2022 01:38 AM
    Hi

    I answered the same question at 

    https://stackoverflow.com/questions/72802157/truck-type-infinite-number-of-them-vs-orders/72803527#72803527

    regards

    ------------------------------
    [Alex] [Fleischer]
    [Data and AI Technical Sales]
    [IBM]
    ------------------------------