Decision Optimization

Decision Optimization

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

 View Only
Expand all | Collapse all

Minimize Setup Times

  • 1.  Minimize Setup Times

    Posted Tue July 16, 2019 06:43 AM

    Originally posted by: Filipe Costa


    Hi all,

    General context of my problem: I need to schedule mill orders (specification of each mill order is encoded in the product item) in machines. However some mill orders can not go to all machines; The setup time to move from a mill order A to a Mill order B depends on the machine that they are scheduled and the product item of mill order A and mill order B;

    Snip of the Model:

    {Operations} operations = {<mo,ma>| mo in mill_orders, ma in machines, d in dependencies : d.product_item==mo.product_item && d.machine==ma.name};
     

    dvar interval transformation[o in operations] optional size ftoi(ceil(o.mill_order.volume/ o.machine.production_rate));
    dvar sequence machines_operations[ma in machines] in all(o in operations: ma.name==o.machine.name) transformation[o] types all(o in operations: ma.name==o.machine.name) ord(product_items,o.mill_order.product_item);

    How can I efficiently minimize the setup times on each machine?

    Right now this is my objective function:

    minimize sum (ma in machines) ((max(o in operations: o.machine.name==ma.name) endOf(transformation[o])) - (sum(o in operations: o.machine.name==ma.name) sizeOf(transformation[o]))); // Downtime Optimization

    But it is very slow...

     


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 2.  Re: Minimize Setup Times

    Posted Tue July 16, 2019 01:26 PM

    Hi,

    have you had a look at the example in

    • examples/opl/sched_tcost

    ?

    regards


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 3.  Re: Minimize Setup Times

    Posted Wed July 17, 2019 09:47 AM

    Originally posted by: Filipe Costa


    Hi @AlexFleischer,

    Thanks for your answer, Yes I looked to that example. Using that technique, it actually improves the speed up, but the change was not significant.

     


    #DecisionOptimization
    #OPLusingCPOptimizer