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