Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Some problems setting up distributed mip

    Posted 06/15/18 07:26 AM

    Originally posted by: srinit34


    Hello

    I am trying to setup dist-mip with 1 master and 3 workers.

    Attached is the master's output which I aborted so I could get the screen shot. (see attached)

    Then I restarted the master and workers , this time letting dist-mip run to completion.

    The vmc file has 3 entries .

     

    The workers are started using command lines like this:

     /opt/ibm/ILOG/CPLEX_Studio128/cplex/bin/x86-64_linux/cplex -debug -worker=tcpip -libpath=/opt/ibm/ILOG/CPLEX_Studio128/cplex/bin/x86-64_linux/cplex -address=<this_worker_ip>:12345

     

    It appears the ramp up is happening on the master and lasting more than 1 hour. Also not sure if the workers are solving anything, looks like master is solving the MIP all by itself.

    Ending messages from master and worker are attached.

     

    Is there some mistake in my setup and usage ?




    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Some problems setting up distributed mip

    Posted 06/15/18 07:37 AM

    As far as I can tell, all your output is expected and things work correctly. The master log says

    Running distributed MIP on 3 solvers.
    Setting up 3 distributed solvers.
    Setup time = 0.07 sec. (0.01 ticks)
    Starting ramp-up.

    So 3 workers are fired up as expected. Note that the output you posted from the workers is only debug output. It is not expected that you see a node log on the console on which you launched the workers. In fact, once the workers are started as expected, I suggest to launch them without the '-debug' command line option.

    What made you suspicious?


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Some problems setting up distributed mip

    Posted 06/15/18 07:59 AM

    Originally posted by: srinit34


    There are 2 very suspicious messages:

    1) as far as I know the ramp ups should be happening on the workers, so why is the master showing the node log ? Also the ramp up lasted more than 1 hour which is suspicious. And the ramp up time was the same as the solution time which is also suspicious.

    2) I believe the solution time for this MIP ( b2c1s1) is in fact just over 1 hour with CPLEX on one machine. So it appears as if the MIP was not distributed at all.

     

    Ramp-up finished (winner: 1).
    Ramp-up time = 4743.87 sec. (1744776.23 ticks)

    Solution pool: 6 solutions saved.

    MIP - Integer optimal, tolerance (0.0001/1e-06):  Objective =  2.5687910000e+04
    Current MIP best bound =  2.5685342228e+04 (gap = 2.56777, 0.01%)
    Solution time = 4744.65 sec.  Iterations = 157317077  Nodes = 370408 (458)
    Deterministic time = 1744785.80 ticks  (367.74 ticks/sec)

     

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Some problems setting up distributed mip

    Posted 06/15/18 08:56 AM
    1. As stated in the documentation, during rampup the master displays the log of the first worker. So this is expected. The docs also state that the default behavior for distributed MIP is "infinite horizon rampup". If you want distributed tree search then you have to explicitly ask for that by changing the appropriate parameter.
    2. There is no guarantee that distributed MIP is faster than solving on a single machine. Whether it is faster or not depends a lot on the problem. Did you check that any of your workers solves the model faster than 4700 seconds when you do a stand-alone solve on it? I take it, you use physically different machines as workers?

    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Some problems setting up distributed mip

    Posted 06/15/18 09:15 AM

    Originally posted by: srinit34


    my workers are uniform. I have confirmed that the MIP takes about 4700 seconds to solve standalone.

     

    Can you quickly point out how to set the ramp up duration ?  Which is the page in the documentation that shows parameter usage ( I cant see them under Solving a MIP with distributed parallel optimization ). In my opinion it should only be a few seconds. It appears that the default "inifinite horizon" effectively does not distribute the MIP at all.


    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: Some problems setting up distributed mip

    Posted 06/15/18 10:30 AM

    The parameter you are looking for is CPX_PARAM_RAMPUPDURATION.

    And the work is distributed. CPLEX just does not distributed tree search but distributed parallel concurrent optimization (solve the same problem on multiple machines with different parameter settings and pick the results from the fastest one).

    I am unclear why solving on 3 machines should take only a few seconds while solving on a single machine takes more than 1 hour?

    Also, for infinite horizon rampup, I don't think it is surprising that there is no speedup. That only means that CPLEX defaults are good for this instance.

    Just to sure: your workers are on phyiscally different machines?


    #CPLEXOptimizers
    #DecisionOptimization


  • 7.  Re: Some problems setting up distributed mip

    Posted 06/15/18 12:15 PM

    Originally posted by: srinit34


    Thanks for the clarifications.

     

    Yes, my workers are on different physical machines having identical configuration.

    Also my machines are not shared with other users.

     

    I realized that the work is distributed in the sense that all workers are doing the same thing, and solving the MIP to completion using different random seeds.

    The master picks the best as you pointed out.

     

    You asked : " I am unclear why solving on 3 machines should take only a few seconds while solving on a single machine takes more than 1 hour? "

    Which log message indicates that distribution solved it in 3 seconds?

     

    I will try to change the ramp up duration and test.

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 8.  Re: Some problems setting up distributed mip

    Posted 06/15/18 12:30 PM

    Originally posted by: srinit34


    I am unable to set the ramp up limit in CPLEX 12.8 that I have.

     

    CPLEX> set mip limits rampuptimelimit 300
    Mixed integer limit 'rampuptimelimit' does not exist.
    Available mixed integer limits:

    aggforcut        set constraint aggregation limit for cut generation
    auxrootthreads   set number of threads to use for auxiliary root tasks
    cutpasses        set number of cutting plane passes
    cutsfactor       set rows multiplier factor to limit cuts
    eachcutlimit     set limit on number of cuts for each type per pass
    gomorycand       set candidate limit for generating Gomory fractional cuts
    gomorypass       set pass limit for generating Gomory fractional cuts
    nodes            set branch and cut node limit
    polishtime       set time limit for polishing best solution
    populate         set solutions limit for each populate call
    probedettime     set deterministic time limit for probing
    probetime        set time limit for probing
    repairtries      set number of times to try repair heuristic
    solutions        set mixed integer solutions limit
    strongcand       set strong branching candidate limit
    strongit         set strong branching iteration limit
    submipnodelim    set sub-MIP node limit [deprecated - see: set mip submip nodelimit]
    treememory       set upper limit on size of tree in megabytes

    Mixed integer limit to set:

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 9.  Re: Some problems setting up distributed mip

    Posted 06/15/18 01:49 PM

    Try 'set distmip rampup ...'


    #CPLEXOptimizers
    #DecisionOptimization


  • 10.  Re: Some problems setting up distributed mip

    Posted 06/20/18 07:30 AM

    Originally posted by: srinit34


    Hi Daniel

    using set distmip rampup seemed to work. Thanks for replies.

     

    You had remarked : QUOTE : I am unclear why solving on 3 machines should take only a few seconds while solving on a single machine takes more than 1 hour?

    Which line in the logs made you ask that question? Are you seeing something suspicious.

    I just want to make sure there is nothing wrong in my setup.


    #CPLEXOptimizers
    #DecisionOptimization


  • 11.  Re: Some problems setting up distributed mip

    Posted 06/29/18 02:12 AM

    No, it was nothing in the logs. It was what I understood you had claimed in one of your previous posts. Probably I just got you wrong. Don't bother :-)


    #CPLEXOptimizers
    #DecisionOptimization