Decision Optimization

Decision Optimization

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

 View Only
  • 1.  How to solve a multi-objective optimization problem using CPLEX?

    Posted Mon May 22, 2017 02:40 PM

    Originally posted by: Xifeng


    Hi, everyone! I want to solve a multi-objective optimization problem, one of whose objectives is described as a normal cumulative distribution function. Can it be solved using CPLEX? 


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 2.  Re: How to solve a multi-objective optimization problem using CPLEX?

    Posted Tue May 23, 2017 02:42 AM

    Hi,

    The function staticLex defines a multi-criteria policy, ordering the different criteria and performing lexicographic optimization. The first criterion is considered to be the most important one; any improvement of this criterion is worth any loss on the other criteria. The second criterion is the second most important one, and so on. The last criterion is the least important one.

    regards


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 3.  Re: How to solve a multi-objective optimization problem using CPLEX?

    Posted Tue May 23, 2017 02:18 PM

    Originally posted by: Xifeng


    Hi Alex,

    Thank you very much for your kindly help and support! Further, if one of the component objectives is an expression of cumulative distribution function, how to do it? In the Help files, I cannot find any statistical function. I'm a beginner in CPLEX and need your guidance.

     

    Best regards


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 4.  Re: How to solve a multi-objective optimization problem using CPLEX?

    Posted Tue May 23, 2017 03:19 PM

    Hi,

    let s consider the cdf as an array of value.

    Let me give you a small example I derived from the floatexpr example with the cdf of uniform distribution:

    using CP;

    dvar int i in 1..100;
    dvar int j in 1..100;
    dvar int k in 1..99;

    float cdf[k in 0..100]=k/100;

    dexpr float kf = k/100;
    dexpr float ar[i in 1..10] = k/i;

    minimize staticLex(kf + sum(i in 1..10)ar[i],cdf[k]);

    subject to {
       i*(1+kf) == j;
    }

     

    regards


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 5.  Re: How to solve a multi-objective optimization problem using CPLEX?

    Posted Thu May 25, 2017 06:00 PM

    Originally posted by: Xifeng


    Hi Alex,

    You are a good teacher, thank you so much for your help! There are other two questions: the first one is how to get the minimum non-negative number in a matrix; and the second one is why the time of solving a multi-objective problem is unacceptable using CP optimizer, while each component objective can be solved efficiently by CPLEX optimizer?

    I appreciate your time and look forward to you guidance!

     

    Best regards

     


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 6.  Re: How to solve a multi-objective optimization problem using CPLEX?

    Posted Fri May 26, 2017 03:20 PM

    Hi

    about

    why the time of solving a multi-objective problem is unacceptable using CP optimizer

    have you set a time limit ?

    regards


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 7.  Re: How to solve a multi-objective optimization problem using CPLEX?

    Posted Sat May 27, 2017 03:20 PM

    Originally posted by: Xifeng


    Hi Alex,

    I think you might have misunderstood me because my description was unclear. My question is whether or not the time spent solving a multi-objective problem with CP optimizer is subject to not only the problem size but also the number of its objectives.

    Kind regards

     


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 8.  Re: How to solve a multi-objective optimization problem using CPLEX?

    Posted Mon June 05, 2017 03:44 AM

    Originally posted by: Petr Vilím


    Hello,

    it is very hard to estimate the time needed to solve a CP problem. It cannot be easily said that it depends on number of variables, number of constraints or, to your question, number of objectives. The only reliable way is to solve the problem multiple times using multiple random seeds and compare the results (see executable cpoptimizer and its command "tools runseeds". Or even better, compare on multiple instances of the same problem.

    As Alex noted, often you have to use time limit since you cannot wait for proof of optimality.

    Best regards, Petr


    #DecisionOptimization
    #OPLusingCPOptimizer


  • 9.  Re: How to solve a multi-objective optimization problem using CPLEX?

    Posted Wed June 07, 2017 12:55 PM

    Originally posted by: Xifeng


    Hello Petr,

    Thank you so much for your answer and guidance!

    Best regards,

    Xifeng


    #DecisionOptimization
    #OPLusingCPOptimizer