[Symphony] biobjective problems

Papis Wongchaisuwat papis_31 at hotmail.com
Mon Sep 16 12:12:35 EDT 2013


I do understand now why i got all negative value. However, I got different results from your presentation online. It seems like my results are incorrect.

Best, 
Papis

On Sep 16, 2013, at 10:54 AM, "Ted Ralphs" <ted at Lehigh.EDU> wrote:

> The bottom line is that there doesn't seem to be anything wrong with the output except that the objective value is reported as negative instead of positive because SYMPHONY converts your maximization problem into an equivalent minimization problem internally. Was there something besides that that seemed incorrect?
> 
> Cheers,
> 
> Ted
> 
> 
> On Sun, Sep 15, 2013 at 1:48 PM, Papis Wongchaisuwat <papis_31 at hotmail.com> wrote:
>> I am sorry but I don't clearly understand what do you mean and how can I fix my problem.
>> 
>> Thank you
>> Papis
>> 
>> From: ted at Lehigh.EDU
>> Date: Sun, 15 Sep 2013 12:45:28 -0400
>> 
>> Subject: Re: [Symphony] biobjective problems
>> To: papis_31 at hotmail.com
>> CC: hennebry at web.cs.ndsu.nodak.edu; symphony at list.coin-or.org
>> 
>> It looks correct to me (without knowing what the second objective is). SYMPHONY converts all problems to minimization internally, so the negative objective values are just because we don't check whether the problem was maximization and negate the objective values if it is. This should be easy to change. You can file a ticket and I'll try to get to it.
>> 
>> Ted
>> 
>> 
>> On Sun, Sep 15, 2013 at 12:39 PM, Papis Wongchaisuwat <papis_31 at hotmail.com> wrote:
>> Thank you for a reply.
>> I tried to start from simple problem that I found in presentation online.
>> vmax [8x1, x2]
>> s.t. 7x1 + x2 <= 56
>> 28x1 + 9x2 <= 252
>> 3x1 + 7x2 <=105
>> x1, x2 >=0
>> 
>> In bicriteria.c, I use
>> #include "symphony.h"
>> 
>> int main(int argc, char **argv)
>> {
>> 
>>    sym_environment *env = sym_open_environment();
>>    sym_parse_command_line(env, argc, argv);
>>    sym_load_problem(env);
>> 
>>    sym_set_obj2_coeff(env, 1, 1);
>> 
>>    sym_mc_solve(env);
>> 
>>    sym_close_environment(env);
>> 
>>    return(0);
>> 
>> }
>> 
>> my lp file :
>> Maximize 
>> obj: 8 var_1 + var_2
>>  
>> Subject to 
>>  C1: 7 var_1 + var_2 <= 56
>> 
>> C2: 28 var_1 + 9 var_2 <= 252
>> 
>> C3: 3 var_1+ 7 var_2 <= 105
>> 
>> Bound
>> 
>> var_1>=0
>> 
>> var_2>=0
>> 
>> Integer
>> 
>> var_1
>> 
>> var_2
>> 
>> End 
>> 
>> 
>> 
>> I got incorrect results. 
>> 
>> This is what I got
>> 
>> First Objective: -64.000 Second Objective: 0.000 Range: 0.468750-1.000000
>> 
>> First Objective: -47.000 Second Objective: -15.000 Range: 0.000000-0.468750
>> 
>> What did I do wrong?
>> 
>> Thank you,
>> Papis
>> 
>> 
>> 
>> From: ted at Lehigh.EDU
>> Date: Sun, 15 Sep 2013 12:27:26 -0400
>> 
>> Subject: Re: [Symphony] biobjective problems
>> To: papis_31 at hotmail.com
>> CC: hennebry at web.cs.ndsu.nodak.edu; symphony at list.coin-or.org
>> 
>> 
>> sym_set_obj2_coeff(env, i, j) sets the objective function coefficient of variable "i" to value "j" in the second objective, as documented here:
>> 
>> http://www.coin-or.org/SYMPHONY/man-5.5/node176.html
>> 
>> At the moment, setting the objective coefficients one by one is the only way to specify a second objective through the API. Of course, you can also just directly set the objective function in SYMPHONY's internal representation of the instance.
>> 
>> I have plans to improve this and to add the ability to specify two objectives through a modeling language, such as GMPL, but I haven't gotten to it yet.
>> 
>> Cheers,
>> 
>> Ted
>> 
>> 
>> On Sat, Sep 14, 2013 at 10:58 PM, Papis Wongchaisuwat <papis_31 at hotmail.com> wrote:
>> I found  bicriteria.c file in Examples. I tried running with the data set and I got several solutions as I am supposed to get. 
>> However, I am not sure whether I got a correct result.
>> These are some parts of bicriteria.c file
>> #include "symphony.h"
>> 
>> int main(int argc, char **argv)
>> {
>> 
>>    sym_environment *env = sym_open_environment();
>>    sym_parse_command_line(env, argc, argv);
>>    sym_load_problem(env);
>> 
>>    sym_set_obj2_coeff(env, 1, -1);
>> 
>>    sym_mc_solve(env);
>> 
>>    sym_close_environment(env);
>> 
>>    return(0);
>> 
>> }
>> 
>> #endif
>> 
>> Does anyone know what sym_set_obj2_coeff(env, 1, -1) means?  When should I use 1 or -1?
>> My sample data is a minimization problem.
>> 
>> Thank you,
>> Papis
>> 
>> > Date: Fri, 13 Sep 2013 23:29:29 -0500
>> 
>> > From: hennebry at web.cs.ndsu.nodak.edu
>> > To: papis_31 at hotmail.com
>> > CC: symphony at list.coin-or.org
>> > Subject: RE: [Symphony] biobjective problems
>> > 
>> > On Sat, 14 Sep 2013, Papis Wongchaisuwat wrote:
>> > 
>> > > I would like to run bi-objective Set cover and Set pack problems. Attached files are some examples that I want to run. MCKP and these problems are quite different. I don't know how to apply MCKP or either use any other ways to run these problems.
>> > 
>> > From reading the manual,
>> > I gather one can call sym_explicit_load_problem( ... )
>> > and follow it by calling sym_mc_solve( ... ) .
>> > Is there a reason that you cannot do that?
>> > 
>> > -- 
>> > Michael hennebry at web.cs.ndsu.NoDak.edu
>> > "On Monday, I'm gonna have to tell my kindergarten class,
>> > whom I teach not to run with scissors,
>> > that my fiance ran me through with a broadsword." -- Lily
>> 
>> _______________________________________________
>> Symphony mailing list
>> Symphony at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/symphony
>> 
>> 
>> 
>> 
>> -- 
>> Dr. Ted Ralphs
>> Associate Professor, Lehigh University
>> (610) 628-1280
>> ted 'at' lehigh 'dot' edu
>> coral.ie.lehigh.edu/~ted
>> 
>> 
>> 
>> -- 
>> Dr. Ted Ralphs
>> Associate Professor, Lehigh University
>> (610) 628-1280
>> ted 'at' lehigh 'dot' edu
>> coral.ie.lehigh.edu/~ted
> 
> 
> 
> -- 
> Dr. Ted Ralphs
> Associate Professor, Lehigh University
> (610) 628-1280
> ted 'at' lehigh 'dot' edu
> coral.ie.lehigh.edu/~ted
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/symphony/attachments/20130916/a3f8e39a/attachment.html>


More information about the Symphony mailing list