Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Refactor the Basis in the Primal Simplex Algorithm

    Posted 04/23/17 05:19 AM

    Originally posted by: fabioftv


    Hello,

    I was wondering if there exists a command where I can refactor the basis in the primal simplex algorithm at the time the command is executed. I know that CPX_PARAM_REINV determines the frequency the basis is refactored but I was looking for a command that when it is executed, the basis is refactored. Any help is appreciated.

    Thanks


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Refactor the Basis in the Primal Simplex Algorithm

    Posted 04/24/17 03:08 AM

    Sorry, I am not clear at which point in the solution process you want to refactor the basis. Is this from a callback? Is this after a stopped optimization and before continuing it?

    Could you please describe in more detail the context in which you want to refactor the basis?


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Refactor the Basis in the Primal Simplex Algorithm

    Posted 04/24/17 03:51 PM

    Originally posted by: fabioftv


    Hello Daniel,

    Thanks for the quick response. I am trying to implement the simplex method using the routine CPXpivot. I use the routine CPXgetbhead to obtain the basis and use the routines CPXgetdj, CPXgetx, and CPXbinvacol to determine entering and leaving variables. I would like to refactor the basis once in a while (but not necessarily with a predetermined frequency) after I call the routine CPXpivot to update the basis. The problem is that the numerical instability with respect to the routine CPXpivot is really high so I want to refactor the basis to avoid wrong or illegal pivots. Please, let me know if you still have questions.

    Thanks


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Refactor the Basis in the Primal Simplex Algorithm

    Posted 04/25/17 10:21 AM

    Originally posted by: BoJensen


    I am afraid we do not offer functionality, that would allow the user to trigger a refactoring. CPLEX determines the refactoring point internally. If you have numerical trouble using these routines, please go through pivots one by one and see why an unstable pivot is chosen i.e inspect your choice of entering and leaving variable. Often a pivot is forced on a relative small coefficient and this triggers the instability. You can use the kappa value as a guideline to when the basis becomes numerical unstable, then examine the entering and leaving variables together with the updated row/col.


    #CPLEXOptimizers
    #DecisionOptimization