Niminize works fine if I copy the minimized function directly by hands, but doesn't work if I try to do something like this:
exp=minimizedExpression;
f[variables_]:=NMinimize[{exp,constraints},{...}]
then it fails.
Particular example:
exp = (-(1/f) - ((1 + a)^(1 + m)
m x (a + x)^(-1 - m))/λ + (-a + (1 + a)^(
1 + m) (a + x)^-m)/λ)^2 + (-((3 w)/f) - (
3 (1 + a)^(1 + m) m X (a + X)^(-1 - m))/Λ + (
3 (-a + (1 + a)^(1 + m) (a + X)^-m))/Λ)^2 + (-((
9 (1 + a)^(1 + m) m z (a + z)^(-1 - m))/Λ) + (
9 (-a + (1 + a)^(1 + m) (a + z)^-m))/Λ - (
9 τ)/
f)^2 + (-((2 (1 + a)^(1 + m) m y (a + y)^(-1 - m))/λ) + (
2 (-a + (1 + a)^(1 + m) (a + y)^-m))/λ - (2 τ)/
f)^2 + (-((
6 (1 + a)^(1 + m) m Y (a + Y)^(-1 - m))/Λ) + (
6 (-a + (1 + a)^(1 + m) (a + Y)^-m))/Λ - (
6 w τ)/
f)^2 + (-((3 (1 + a)^(1 + m) m Z (a + Z)^(-1 - m))/λ) + (
3 (-a + (1 + a)^(1 + m) (a + Z)^-m))/λ - (3 w τ)/
f)^2 + (-1.` + (x (-a + (1 + a)^(1 + m) (a + x)^-m))/λ + (
2 y (-a + (1 + a)^(1 + m) (a + y)^-m))/λ + (
9 z (-a + (1 + a)^(1 + m) (a + z)^-m))/Λ - (
x + 2 y τ + 9 z τ)/
f)^2 + (-((
z (-a + (1 + a)^(1 + m) (a + z)^-m))/(Λ (1.` + (
x + 2 y τ + 9 z τ)/f))) + (
Z (-a + (1 + a)^(1 + m) (a + Z)^-m))/(λ (1.` + (
3 X + 6 Y τ + 3 Z τ)/f)))^2 + ((
3 Z (-a + (1 + a)^(1 + m) (a + Z)^-m))/λ + (
3 X (-a + (1 + a)^(1 + m) (a + X)^-m))/Λ + (
6 Y (-a + (1 + a)^(1 + m) (a + Y)^-m))/Λ -
w (1.` + (3 X + 6 Y τ + 3 Z τ)/f))^2
Clear[f$minimize2]
f$minimize2[a_?NumericQ, m_?NumericQ, L_?NumericQ,
s_?NumericQ, τNotRationalized_?NumericQ, f_?NumericQ] :=
TimeConstrained[
f$minimize2[a, m, L, s, τNotRationalized, f] = Block[
{list, b, b$1, X, Y, Z, x, y,
z, τ = Rationalize[τNotRationalized]},
b$1 =
NMinimize[{exp,
X >= 10^-12 && Y >= 10^-12 && Z >= 10^-12 && x >= 10^-12 &&
y >= 10^-12 &&
z >= 10^-12 && λ >= 10^-12 && Λ >=
10^-12 && w >= 10^-12},
{X, Y, Z, x, y, z, λ, Λ, w}];
b = b$1
]
, 1]
f$minimize2[1., 0.25, 1., 0.5, 1., 0.3]
