Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Flexible machine problem with maintenance

    Posted 01/28/19 04:36 PM

    Originally posted by: ChWeil


    Good evening, 

     

    I have a model in which a job sequence needs to be generated for two machines. Some jobs can be processed on both machines.

    The machines have different times of fixed maintenance which I modelled with a stepFunction.

    Additionally, I have different scenarios regarding processing time and maintenance.

     

    My problem is when I solve the model that the assignment (which I formulated in a tuple such as the IBM example) is not respected. The jobs are just randomly assigned to any of the two machines. 

    I put my model in the attachment. It would be great if someone has an answer to it. 

     

    Best regards

     


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 2.  Re: Flexible machine problem with maintenance

    Posted 01/29/19 02:50 AM

    Originally posted by: PhilippeLaborie


    Hello,

    I run your model (with V12.8) and I do not see anything wrong with the machine assignments.

    The possible machine assignments read: { <0 1 1543 0> <1 1 956 1> <2 1 535 2> <2 0 535 2> <3 0 1714 3> <4 0 1685 4> <5 0 541 5> <5 1 541 5> <6 1 1244 6> ... } so for instance job 0 can only be performed on machine 1, job 1 on machine 1, job 3 on machine 0, job 4 on machine 0, and in the solution (I stopped at the first one), this is what happens:

    // solution with objective 4329541

    Job 0 on machine 1  Start time: 99.069839391 Completion time: 129.650006763

    ...

    Job 1 on machine 1  Start time: 442.786730049 Completion time: 461.625346482

    ...

    Job 3 on machine 0  Start time: 323.4475315 Completion time: 357.136378974

    ...

    Job 4 on machine 0  Start time: 360.169256085 Completion time: 393.535564927

    ...

     

     


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 3.  Re: Flexible machine problem with maintenance

    Posted 01/29/19 08:07 AM

    Originally posted by: ChWeil


    Hello, 

     

    Thanks for your quick reply,. Yes, it was a mistake in the data not in the model - sorry for that. 

    Another thing I noticed is that when I weight the start and completion time with probabilities to generate a sequence for all possible scenarios and durations it does not respect start and completion times of consecutive jobs. I suppose it is affiliated to the deviations between the scenario. Is that correct? 

    Is there anything I could to to set it right? 

     

    Best regards

     


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 4.  Re: Flexible machine problem with maintenance

    Posted 01/29/19 09:12 AM

    Originally posted by: PhilippeLaborie


    What do you mean by "it does not respect start and completion times of consecutive jobs"? Do you mean that it does not respect the noOverlap on some scenario/duration ? Could you explain with a small example?


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 5.  Re: Flexible machine problem with maintenance

    Posted 01/29/19 10:37 AM

    Originally posted by: ChWeil


    Yes, it respect the noOverlap constraint for every scenario/duration. But in the end I want to have only one sequence with start and finish time

    So have 20 scenarios with different probabilities 

     

    for example in Scenario 1:

    Job1 start=100, finish=200

    Job2 start=220, finish 250

    Job3 start=250, finish=320

     

    in Scenario 2:

    Job1 start=90, finish=200

    Job2 start=220, finish=260

    Job3 start=260, finish=340

    ...

    Now if I wanna have one result over all scenarios, I multiply start and finish time of each scenario with a certain probability.

    The problem in my case is that I get in an overall result like

    Job1 start=95, finish=200

    Job2 start=220, finish=260

    Job3 start=250, finish=355

    So my hunch is that there are so many different start and completion times because of the amount of scenarios that this happens for the final "average".

    In my model, there are also big gaps (much bigger that the setup times in the transition matrix) between two consecutive jobs which I cannot explain.  

     

    Do you have any idea to solve this problem? 

     

    Best

     


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 6.  Re: Flexible machine problem with maintenance

    Posted 01/30/19 01:49 AM

    Originally posted by: PhilippeLaborie


    So it is not a question related with CP Optimizer but a math question, right?

    It is up to you to decide how you want to aggregate the results in all scenarios. Probably the most important here is not the actual start / end times but the allocation of jobs to machines and the sequencing of the jobs on each allocated machines. 

    In OPL you can get the value of a sequence variable at a solution and iterate over the interval in the order of the sequence variable; see https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014599535&ps=25.  

     

    Concerning the big gaps between two consecutive jobs, it may be due to the earliness-tardiness costs you have as a component of your objective function. Because of it, it may improve the objective value to delay some jobs. Well, this is just a possible explanation…


    #DecisionOptimization
    #OPLusingCPOptimizer