Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  IloInsertVisit

    Posted 04/30/10 12:40 PM

    Originally posted by: anahana


    Dear all,

    I'm using IloInsertVisit method to insert new visits to already constructed routing plans. The methods works fine, but I'm getting results that I'm unable to explain. Here's what is happening:

    1. There are 50 vehicles available for some problem instance.
    2. There are 162 visits that are used to create a routing plan, call this the initial routing plan.
    3. There are 50 other visits that will be inserted into the initial routing plan using the IloInsertVisit method.
    4. The 162 visits required only 20 vehicles, and the remaining 30 vehicles are still free for the other 50 vehicles.
    5. When using the IloInsertVisit, not all of the 50 vehicles are inserted even though
    #CPOptimizer
    #DecisionOptimization


  • 2.  Re: IloInsertVisit

    Posted 04/30/10 12:48 PM

    Originally posted by: anahana


    Sorry for the incomplete message below, here's the remaining part:

    5. When using the IloInsertVisit, not all of the 50 vehicles are inserted even though there are a lot of empty vehicles. Here's an example output I'm getting:

    Initial solution (only 20 of the 50 vehicles are used)

    vehicle1 Route : depot -> visit30 -> visit32 -> visit65 -> visit86 -> visit115 -> visit94 -> visit51 -> visit174 -> visit136 -> visit28 -> visit53 -> visit201 -> visit107 -> visit212 -> depot
    vehicle2 Route : depot -> visit60 -> visit211 -> visit104 -> visit3 -> visit88 -> visit8 -> visit186 -> visit127 -> visit98 -> visit7 -> visit142 -> visit111 -> depot
    vehicle3 Route : depot -> visit57 -> visit118 -> visit82 -> visit180 -> visit84 -> visit125 -> visit4 -> visit121 -> visit34 -> visit17 -> visit188 -> visit158 -> depot
    vehicle4 Route : depot -> visit62 -> visit131 -> visit55 -> visit135 -> visit18 -> visit185 -> visit132 -> visit49 -> depot
    vehicle5 Route : depot -> visit21 -> visit23 -> visit75 -> visit145 -> visit195 -> visit92 -> visit15 -> visit59 -> depot
    vehicle6 Route : depot -> visit114 -> visit150 -> visit22 -> visit16 -> visit140 -> visit204 -> visit63 -> visit56 -> depot
    vehicle7 Route : depot -> visit20 -> visit148 -> visit103 -> visit124 -> visit141 -> visit69 -> visit200 -> visit77 -> visit89 -> visit105 -> visit130 -> visit74 -> depot
    vehicle8 Route : depot -> visit113 -> visit134 -> visit50 -> visit112 -> visit79 -> visit205 -> visit42 -> visit39 -> depot
    vehicle9 Route : depot -> visit93 -> visit58 -> visit202 -> visit184 -> visit37 -> visit81 -> visit137 -> visit183 -> depot
    vehicle10 Route : depot -> visit5 -> visit10 -> visit46 -> visit128 -> visit36 -> visit206 -> visit33 -> visit108 -> depot
    vehicle11 Route : depot -> visit144 -> visit119 -> visit83 -> visit143 -> visit176 -> visit165 -> depot
    vehicle12 Route : depot -> visit116 -> visit66 -> visit147 -> visit160 -> visit47 -> visit91 -> visit70 -> visit122 -> visit64 -> visit179 -> depot
    vehicle13 Route : depot -> visit133 -> visit48 -> visit26 -> visit40 -> visit153 -> visit169 -> visit14 -> visit149 -> depot
    vehicle14 Route : depot -> visit41 -> visit85 -> visit80 -> visit31 -> visit25 -> visit172 -> visit110 -> visit162 -> depot
    vehicle15 Route : depot -> visit120 -> visit19 -> visit97 -> visit96 -> depot
    vehicle16 Route : depot -> visit101 -> visit126 -> visit71 -> visit9 -> visit1 -> visit99 -> depot
    vehicle17 Route : depot -> visit73 -> visit12 -> visit129 -> visit11 -> visit6 -> visit139 -> depot
    vehicle18 Route : depot -> visit27 -> visit44 -> visit102 -> visit146 -> visit208 -> visit68 -> visit76 -> visit61 -> depot
    vehicle19 Route : depot -> visit78 -> visit13 -> visit43 -> visit2 -> visit90 -> visit67 -> depot
    vehicle20 Route : depot -> visit45 -> visit24 -> depot
    vehicle21 : Unused
    vehicle22 : Unused
    vehicle23 : Unused
    vehicle24 : Unused
    vehicle25 : Unused
    vehicle26 : Unused
    vehicle27 : Unused
    vehicle28 : Unused
    vehicle29 : Unused
    vehicle30 : Unused
    vehicle31 : Unused
    vehicle32 : Unused
    vehicle33 : Unused
    vehicle34 : Unused
    vehicle35 : Unused
    vehicle36 : Unused
    vehicle37 : Unused
    vehicle38 : Unused
    vehicle39 : Unused
    vehicle40 : Unused
    vehicle41 : Unused
    vehicle42 : Unused
    vehicle43 : Unused
    vehicle44 : Unused
    vehicle45 : Unused
    vehicle46 : Unused
    vehicle47 : Unused
    vehicle48 : Unused
    vehicle49 : Unused
    vehicle50 : Unused

    IloInsertMethod output:

    New visit Visitvisit164 node : Nodenode164 X = 97 Y = 29 Z = 0 has been inserted

    Cannot insert new pickup visit: visit190 in solution

    New visit Visitvisit170 node : Nodenode170 X = 118 Y = 114 Z = 0 has been inserted

    New visit Visitvisit161 node : Nodenode161 X = 10 Y = 118 Z = 0 has been inserted

    New visit Visitvisit155 node : Nodenode155 X = 63 Y = 57 Z = 0 has been inserted

    Cannot insert new pickup visit: visit177 in solution

    New visit Visitvisit178 node : Nodenode178 X = 91 Y = 78 Z = 0 has been inserted

    New visit Visitvisit159 node : Nodenode159 X = 40 Y = 132 Z = 0 has been inserted

    Cannot insert new pickup visit: visit171 in solution

    Cannot insert new pickup visit: visit197 in solution

    New visit Visitvisit182 node : Nodenode182 X = 119 Y = 139 Z = 0 has been inserted

    New visit Visitvisit192 node : Nodenode192 X = 87 Y = 108 Z = 0 has been inserted

    New visit Visitvisit173 node : Nodenode173 X = 95 Y = 77 Z = 0 has been inserted

    New visit Visitvisit166 node : Nodenode166 X = 27 Y = 77 Z = 0 has been inserted

    New visit Visitvisit152 node : Nodenode152 X = 103 Y = 106 Z = 0 has been inserted

    Cannot insert new pickup visit: visit156 in solution

    Cannot insert new pickup visit: visit193 in solution

    Cannot insert new pickup visit: visit154 in solution

    Cannot insert new pickup visit: visit191 in solution

    New visit Visitvisit199 node : Nodenode199 X = 34 Y = 108 Z = 0 has been inserted

    New visit Visitvisit168 node : Nodenode168 X = 126 Y = 112 Z = 0 has been inserted

    New visit Visitvisit151 node : Nodenode151 X = 36 Y = 132 Z = 0 has been inserted

    Cannot insert new pickup visit: visit194 in solution

    Cannot insert new pickup visit: visit167 in solution

    New visit Visitvisit181 node : Nodenode181 X = 6 Y = 113 Z = 0 has been inserted

    As you can see, some of the 50 visits are inserted, but others aren't. My question is this, since not all for the 30 vehicles (remaining after the initial solution) are used for the new 50 visits, why can't the IloInsertMethod use any of these empty vehicles to insert the visits that it cannot insert?

    Regards,
    #CPOptimizer
    #DecisionOptimization


  • 3.  Re: IloInsertVisit

    Posted 05/17/10 08:35 AM

    Originally posted by: SystemAdmin


    Hello,

    Without the code/data set, it is pretty hard to be sure why your visits are not inserted.
    Have you already tried to set a breakpoint in _ilc_fail_stop_here just before the solver fails to insert a visit? It could give you some ideas about the constraint that makes the solver fail...

    I hope it will help.
    Cheers,

    Amelie.
    #CPOptimizer
    #DecisionOptimization


  • 4.  Re: IloInsertVisit

    Posted 05/20/10 06:00 AM

    Originally posted by: anahana


    I did not try the _ilc_fail_stop_here, but I did try the getFailureStatus function, it always returned the value "1"... which I assume to correspond to "searchHasNotFailed" or "searchFailedNormally". Either way, it's not much of a help.

    I'll try the _ilc_fail_stop_here and see what I get.

    Regards,
    #CPOptimizer
    #DecisionOptimization