Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Set "useless variables" to 0

    Posted 09/29/15 01:49 PM

    Originally posted by: CBird


    Consider a column generation subproblem, where reduced costs shall be minimized. All variables are binary. The model has only constraints of the form 0 <= ... <= UB, with UB as a positive upper bound and all variables have positive coefficients in the constraints. Therefore, it should suffice to only add variables with a negative objective function coefficient to the objective.

     

    Unfortunately, CPLEX sets some of the variables, which exist in the model and would have a positive coefficient in the objective to 1, despite the fact, that this has no impact on the objective. How can I prevent that? I know, I could just add the variables to the objective, but I consider this as an unnecessary overhead.

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Set "useless variables" to 0

    Posted 09/29/15 02:21 PM

    Originally posted by: geffer


    I am not clear about your objective function and your only   constraints of the form 0 <= ... <= UB, would you mind to clearly explain it?

    My understanding in your problem is you just want to add your new variable to the objective and ignored in this constraints.

    If my understanding is right, you can just fix the coefficient in the constraints to 0.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Set "useless variables" to 0

    Posted 09/30/15 04:24 AM

    Originally posted by: CBird


    "My understanding in your problem is you just want to add your new variable to the objective and ignored in this constraints."

     

    Vice versa: The model is solved multiple times with different objective functions. Therefore I do not want to rebuild the matrix each time, but I have to replace the objective function.

     

    "I am not clear about your objective function and your only   constraints of the form 0 <= ... <= UB, would you mind to clearly explain it?"

     

    For instance:

     

    minimize  - x_0 + x_1

    subject to:

    5 * x_0 + 2 * x_1 <= 10

    all x binary.

     

    As setting x_1 to 1 only reduces the slack of the constraint and does not improve the objective function value. There is no reason do so, even though it is possible. Thus, I want to reduce overhead and use this objective instead:

     

    minimize  - x_0.

     

    Now I am looking for a way to tell the optimizer: "if it does not matter, take the value zero".

     

     

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Set "useless variables" to 0

    Posted 10/23/15 09:21 AM

    Originally posted by: CBird


    This forum is dead!


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Set "useless variables" to 0

    Posted 10/24/15 01:13 PM

    Originally posted by: BoJensen


    I have problems understanding your question :

     

    1) In the first question you ask : 

    "Therefore, it should suffice to only add variables with a negative objective function coefficient to the objective." 

    but in column generation you calculate the reduced cost and typically add the ones with a negative reduced cost. I don't see why you can conclude looking at the ones with a negative objective unless it's the first iteration and the duals are all zero.

     

    2) "Unfortunately, CPLEX sets some of the variables, which exist in the model and would have a positive coefficient in the objective to 1, despite the fact, that this has no impact on the objective. How can I prevent that?"

    Are you asking how to change the objective of a variable ?

     

    3) Is this example what you could be solving :

    minimize  - x_0 + x_1

    subject to:

    5 * x_0 + 2 * x_1 <= 10

    all x binary.

    because the constraint is redundant and initially it was mentioned they should all have a lower bound of zero.

     

    Please specify your question so I can help you.


    #CPLEXOptimizers
    #DecisionOptimization