Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Constraint definition is not valid: WHY?

228 views
Skip to first unread message

aless...@gmail.com

unread,
Jul 1, 2013, 5:42:06 AM7/1/13
to
I am tring to use Nmaximize in Mathematica This is How I proceeded:

1) define a list of parameters: Par = {a->1, b->3, etc};

2) define two functions: f1: v1=express./Par f2: v2=express./Par

After this the expression are numerical except for the variables:

V1=f(e1,x) and V2=f(e2,x)
The objective function to be maximized is V1/(e1+e2) I defined the constraint as constr=V1-V2;

then I used the Nmaximize:

NMaximize[{objopt > 0, constr == 0}, {e1, e2, x}, Method -> NelderMead]
I obtained the following error:

NMaximize::bcons: "The following constraints are not valid: "expression". Constraints should be equalities, inequalities, or domain specifications involving the variables"

I checked that only those variables are present in the constraint and objective function (other are numerical parameters) I do not understand why this error appears can someone help me?

Thank you

Alex

Bob Hanlon

unread,
Jul 2, 2013, 12:33:08 AM7/2/13
to

You wrote ReplaceAll incorrectly.

v1 = express ./ Par should be written v1 = express /. Par

Perhaps this is just a typo in your e-mail and not how you wrote your code
since this would give an error.

Functions use square brackets; for example,

V1 = f(e1, x) should be written V1 = f[e1, x]


In the statement

NMaximize[{objopt > 0, constr == 0}, {e1, e2, x}, Method -> NelderMead]

there is no expression to be maximized, just two constraints: an inequality
and an equation.


The error message indicates a problem with the constraint "expression" but
you have not

defined expression in the code snippets shown.



Bob Hanlon

Alessandro Bolli

unread,
Jul 2, 2013, 12:34:09 AM7/2/13
to
I solved the many errors I made. I am a real noob with mathematica. Thank you

0 new messages