Decision Optimization

Decision Optimization

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

 View Only
  • 1.  Second Order Cone Programming

    Posted Fri October 26, 2012 11:14 AM

    Originally posted by: D_Culver


    I'm having trouble modeling the Euclidean Norm of a sum of decision variables in my objective function when using OPL/CPLEX. I have tried unsuccessfully a number of methods to simply take the square root of the squares of the variables.

    Below is my objective function and corresponding constraint. When I run this I receive the error message that Q is not positive semi-definite. What am I doing wrong?

    dvar float+ q;
    dvar boolean yi in MISSIONSc in CONFIGSt in TIME;

    maximize Pi * q;

    st.

    sum(i in MISSIONS, c in CONFIGS)(ObsVal_Range[i][c]*sum(t in TIME)y[i][c][t])^2 >= q^2;

    Both Pi and ObsVal_Range[i][c] are model parameters.

    Any ideas on how I can get this working properly? Thanks.
    #DecisionOptimization
    #MathematicalProgramming-General


  • 2.  Re: Second Order Cone Programming

    Posted Thu November 01, 2012 07:04 AM

    Originally posted by: SystemAdmin


    What happens if you add auxiliary variables to represent the weighted sum of the y variables?
    
    dvar float+ q; dvar 
    
    boolean y[i in MISSIONS, c in CONFIGS, t in TIME]; dvar 
    
    float sumy[i in MISSIONS, c in CONFIGS];   maximize Pi * q;   st.   forall(i in MISSIONS, c in CONFIGS) sumy[i,c] = ObsVal_Range[i][c]*sum(t in TIME)y[i][c][t]; sum(i in MISSIONS, c in CONFIGS) sumy[i,c]^2 >= q^2;
    

    Does this work (modulo the syntax errors that I probably introduced)?

    Note also that (if q does not appear anywhere else in the model) you could put the quadratic constraint directly into the objective function without having to introduce the q variable.

    Tobias
    #DecisionOptimization
    #MathematicalProgramming-General