How to create a penalty for my model.

I have a parameter that is calculated at the end of my model. Shown below:

Parameter Ex(z,t);
Ex(z,t)=Rest_77.L(z,t) - Rest_77.Lo(z,t);

But I need to say to my model: “The Ex(z,t) should be as less as possible”. Has someone any idea about this?


To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.

\

Trying to understand your problem here, are you trying to minimize Rest_77? If so, that is the answer, the solve statement just needs “min Rest_77”.

If you specifically want to minimize the value of Ex, then I would instead define Ex as a variable and after the calculations use Ex.fx = Ex.l to lock the value for any following calculations.

Maybe someone else has a better solution.

On Monday, February 25, 2013 8:36:06 PM UTC+1, Carlos Rocha wrote:

I have a parameter that is calculated at the end of my model. Shown below:

Parameter Ex(z,t);
Ex(z,t)=Rest_77.L(z,t) - Rest_77.Lo(z,t);

But I need to say to my model: “The Ex(z,t) should be as less as possible”. Has someone any idea about this?


To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.

\

Hi Carlos,

You can formulate Ex(z,t) as a variable. Then add M*Ex(z,t) in the objective function with positive penalty, M, if you have a minimization problem or negative M if you have maximization problem.

Your new objective should look like:

Obje=Obje1+sum((z,t),M*Ex(z,t));

The penalty M should be carefully chosen according to which part of the objective function you give a priority. That means if minimizing Ex(z,t) is your secondary objective M should be small enough than the coefficients of the variables in the term Obje1.

And off course you should define Ex(z,t) as equation with Rest_77.Lo(z,t) predefined before the equation definition;

Ex(z,t)=Rest_77(z,t)-Rest_77.Lo(z,t)

HTH,


On Sun, Mar 3, 2013 at 9:22 PM, Ronny Skogberg wrote:

Trying to understand your problem here, are you trying to minimize Rest_77? If so, that is the answer, the solve statement just needs “min Rest_77”.

If you specifically want to minimize the value of Ex, then I would instead define Ex as a variable and after the calculations use Ex.fx = Ex.l to lock the value for any following calculations.

Maybe someone else has a better solution.


On Monday, February 25, 2013 8:36:06 PM UTC+1, Carlos Rocha wrote:

I have a parameter that is calculated at the end of my model. Shown below:

Parameter Ex(z,t);
Ex(z,t)=Rest_77.L(z,t) - Rest_77.Lo(z,t);

But I need to say to my model: “The Ex(z,t) should be as less as possible”. Has someone any idea about this?


To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.



\

To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.

\

Thanks for replying. Problem solved. I followed your instructions.


To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.

\