Items tagged with optimization optimization Tagged Items Feed

Hi all

The aim of following program is minimization but it is unable to produce it. where is the mistake?

Taylor2.mws

thanks a lot.

Mahmood   Dadkhah

Ph.D Candidate

Applied Mathematics Department

According to this site,"It is known that every even number can be written as a sum of at most six primes". 

http://www.theage.com.au/national/education/christians-goldbachs-magic-sum-20140903-3es2t.html

i wanted to test this using maple.

restart:
> PF := proc (a::integer)

> local cst,obj,res;
> cst := add(x[i], i = 1 .. numtheory:-pi(prevprime(a))) <= 6;
> obj := add(x[i]*ithprime(i), i = 1 .. numtheory:-pi(prevprime(a)))-a;
> res := Optimization:-LPSolve(obj, {cst ,obj>=0}, assume={nonnegative,integer}); end proc:
> PF(30);
[0, [x[1] = 0, x[2] = 0, x[3] = 6, x[4] = 0, x[5] = 0, x[6] = 0,x[7] = 0, x[8] = 0, x[9] = 0, x[10] = 0]]

the third prime is 5 and 6 of them make 30. as an aside, it would be nice to know how to get maple to output "30 = 6x5".

this is obviously pretty limited, because 30 can be written as the sum of two primes (7+23 and 11+19) [GOLDBACH], but using DS's GlobalSearch for all solutions takes a long time to compute. also I have to nominate the highest prime.

any suggestions?

Dear all

is it possible to solve bilevel optimization problems in maple?

            min F(x,y)

     s.t.    min G(x,y)

        s.t.   k(x,y)<=0

As I am trying to solve this integration:

restart; with(linalg); with(stats); with(plots); with(Statistics); with(LinearAlgebra); with(Optimization);
lambda0 := proc (t) options operator, arrow; gamma0+gamma1*t+gamma2*t^2 end proc;
lambda := lambda0(t)*exp(beta*s);
t1 := 145; t3 := 250; t2 := (t1+t3)*(1/2);
s := 1/(273.16+50); s1 := 1/(273.16+t1); s3 := 1/(273.16+t3); s2 := 1/(273.16+t2); gamma0 := 0.1e-3; gamma1 := .5; gamma2 := 0; beta := -3800;
c := 300; n := 200;
Theta := solve(1-exp(-(gamma0*tau1+(1/2)*gamma1*tau1^2+(1/3)*gamma2*tau1^3)*exp(beta*s1)) = 1-exp(-(gamma0*a+(1/2)*gamma1*a^2+(1/3)*gamma2*a^3)*exp(beta*s2)), a);

a := Theta[1];

Delta := solve(1-exp(-(gamma0*(a+tau2-tau1)+(1/2)*gamma1*(a+tau2-tau1)^2+(1/3)*gamma2*(a+tau2-tau1)^3)*exp(beta*s2)) = 1-exp(-(gamma0*b+(1/2)*gamma1*b^2+(1/3)*gamma2*b^3)*exp(beta*s3)), b);

b := Delta[1];

A1 := `assuming`([unapply(int(exp(beta*s1)*exp(-(gamma0*t+(1/2)*gamma1*t^2+(1/3)*gamma2*t^3)*exp(beta*s1))/(gamma0+gamma1*t+gamma2*t^`2`), t = N .. M), N, M)], [N > 0, M > 0]);
A2 := unapply(int(exp(beta*s2)*exp(-(gamma0*(a+t-tau1)+(1/2)*gamma1*(a+t-tau1)^2+(1/3)*gamma2*(a+t-tau1)^3)*exp(beta*s2))/(gamma0+gamma1*(a+t-tau1)+gamma2*(a+t-tau1)^2), t = N .. M), N, M);
A3 := unapply(int(exp(beta*s3)*exp(-(gamma0*(b+t-tau2)+(1/2)*gamma1*(b+t-tau2)^2+(1/3)*gamma2*(b+t-tau2)^3)*exp(beta*s3))/(gamma0+gamma1*(b+t-tau2)+gamma2*(b+t-tau2)^2), t = N .. M), N, M);
B1 := `assuming`([unapply(int(t^2*exp(beta*s1)*exp(-(gamma0*t+(1/2)*gamma1*t^2+(1/3)*gamma2*t^3)*exp(beta*s1))/(gamma2*t^2+gamma1*t+gamma0), t = N .. M), N, M)], [N > 0, M > 0]);
B2 := unapply(int((a+t-tau1)^2*exp(beta*s2)*exp(-(gamma0*(a+t-tau1)+(1/2)*gamma1*(a+t-tau1)^2+(1/3)*gamma2*(a+t-tau1)^3)*exp(beta*s2))/(gamma0+gamma1*(a+t-tau1)+gamma2*(a+t-tau1)^2), t = N .. M), N, M);
B3 := unapply(int((b+t-tau2)^2*exp(beta*s3)*exp(-(gamma0*(b+t-tau2)+(1/2)*gamma1*(b+t-tau2)^2+(1/3)*gamma2*(b+t-tau2)^3)*exp(beta*s3))/(gamma0+gamma1*(b+t-tau2)+gamma2*(b+t-tau2)^2), t = N .. M), N, M);

F0 := A1(0, tau1)+A2(tau1, tau2)+A3(tau2, c);
F1 := B1(0, tau1)+B2(tau1, tau2)+B3(tau2, c);

NLPSolve(1/(n^3*(F0*F1-F1)), tau1 = 115 .. 201, tau2 = 237 .. 273);

I need to have tau1 tau2 as varibles to get there optimal values ..

But this error keeps coming :


Error, (in Optimization:-NLPSolve) integration range or variable must be specified in the second argument, got HFloat(1.0) = HFloat(158.0) .. HFloat(255.0)

Please Help ..

As am trying to solve this integration:


A(c,n,m):=evalf(int(1/(y)*exp(-c*y^(2)),y=n..m))

B(c,n,m):=evalf(int(exp(-c*y^(2)),y=n..m))

C(c,n,m):=evalf(int(y*exp(-c*y^(2)),y=n..m))

d(c,n,m):=evalf(int(y^(2)*exp(-c*y^(2)),y=n..m))

E(c,n,m):=evalf(int(y^(3)*exp(-c*y^(2)),y=n..m))

F0 := exp(beta*s1)*exp(gamma0^2*exp(beta*s1)/(2*gamma1))*A((1/2)*gamma1*exp(beta*s1), gamma0/gamma1,gamma0/gamma1+tau1)/gamma1+exp(beta*s2)*exp(gamma0^2*exp(beta*s2)/(2*gamma1))*A((1/2)*gamma1*exp(beta*s2), gamma0/gamma1+a, gamma0/gamma1+tau2-tau1+a)/gamma1+exp(beta*s3)*exp(gamma0^2*exp(beta*s3)/(2*gamma1))*A((1/2)*gamma1*exp(beta*s3), gamma0/gamma1+b, gamma0/gamma1+c-tau2+b)/gamma1

F1 := exp(beta*s1)*exp(gamma0^2*exp(beta*s1)/(2*gamma1))*(gamma0^2*A((1/2)*gamma1*exp(beta*s1), gamma0/gamma1, gamma0/gamma1+tau1)/gamma1^2-2*gamma0*B((1/2)*gamma1*exp(beta*s1), gamma0/gamma1, gamma0/gamma1+tau1)/gamma1+C((1/2)*gamma1*exp(beta*s1), gamma0/gamma1, gamma0/gamma1+tau1))/gamma1+exp(beta*s2)*exp(gamma0^2*exp(beta*s2)/(2*gamma1))*(gamma0^2*A((1/2)*gamma1*exp(beta*s2), gamma0/gamma1+a, gamma0/gamma1+tau2-tau1+a)/gamma1^2-2*gamma0*B((1/2)*gamma1*exp(beta*s2), gamma0/gamma1+a, gamma0/gamma1+tau2-tau1+a)/gamma1+C((1/2)*gamma1*exp(beta*s2), gamma0/gamma1+a, gamma0/gamma1+tau2-tau1+a))/gamma1+exp(beta*s3)*exp(gamma0^2*exp(beta*s3)/(2*gamma1))*(gamma0^2*A((1/2)*gamma1*exp(beta*s3), gamma0/gamma1+b, gamma0/gamma1+c-tau2+b)/gamma1^2-2*gamma0*B((1/2)*gamma1*exp(beta*s3), gamma0/gamma1+b, gamma0/gamma1+c-tau2+b)/gamma1+C((1/2)*gamma1*exp(beta*s3), gamma0/gamma1+b, gamma0/gamma1+c-tau2+b))/gamma1

F01 := exp(beta*s1)*exp(gamma0^2*exp(beta*s1)/(2*gamma1))*(B((1/2)*gamma1*exp(beta*s1), gamma0/gamma1, gamma0/gamma1+tau1)-gamma0*A((1/2)*gamma1*exp(beta*s1), gamma0/gamma1, gamma0/gamma1+tau1)/gamma1)/gamma1+exp(beta*s2)*exp(gamma0^2*exp(beta*s2)/(2*gamma1))*(B((1/2)*gamma1*exp(beta*s2), gamma0/gamma1+a, gamma0/gamma1+tau2-tau1+a)-gamma0*A((1/2)*gamma1*exp(beta*s2), gamma0/gamma1+a, gamma0/gamma1+tau2-tau1+a)/gamma1)/gamma1+exp(beta*s3)*exp(gamma0^2*exp(beta*s3)/(2*gamma1))*(B((1/2)*gamma1*exp(beta*s3), gamma0/gamma1+b, gamma0/gamma1+c-tau2+b)-gamma0*A((1/2)*gamma1*exp(beta*s3), gamma0/gamma1+b, gamma0/gamma1+c-tau2+b)/gamma1)/gamma1

`F&beta;` := int((s1^2*(gamma0*t+(1/2)*gamma1*t^2)*exp(beta*s1)*(gamma1*t+gamma0)*exp(beta*s1))*exp(-(gamma0*t+(1/2)*gamma1*t^2)*exp(beta*s1)), t = 0 .. tau1)+int((s2^2*(gamma0*(a+t-tau1)+(1/2)*gamma1*(a+t-tau1)^2)*exp(beta*s2)*(gamma0+gamma1*(a+t-tau1))*exp(beta*s2))*exp(-(gamma0*(a+t-tau1)+(1/2)*gamma1*(a+t-tau1)^2)*exp(beta*s2)), t = tau1 .. tau2)+int((s3^2*(gamma0*(b+t-tau2)+(1/2)*gamma1*(b+t-tau2)^2)*exp(beta*s3)*(gamma0+gamma1*(b+t-tau2))*exp(beta*s3))*exp(-(gamma0*(b+t-tau2)+(1/2)*gamma1*(b+t-tau2)^2)*exp(beta*s3)), t = tau2 .. c)+int((s3^2*(gamma0*(b+t-tau2)+(1/2)*gamma1*(b+t-tau2)^2)*exp(beta*s3)*(gamma0+gamma1*(b+t-tau2))*exp(beta*s3))*exp(-(gamma0*(b+t-tau2)+(1/2)*gamma1*(b+t-tau2)^2)*exp(beta*s3)), t = c .. infinity)

I need to have tau2 as varibles to get there optimal values ..

Minimize(1/((F0*F1-F01^2)*n^3*`F&beta;`), tau2 = 237..273})

But this error keeps coming :

Error, (in Optimization:-NLPSolve) integration range or variable must be specified in the second argument, got HFloat(1.0) = 121.0828419 .. HFloat(193.0828419)

Please Help ..

Hi all

 

I am trying to maximize a function f(x,y,z,w) in terms of x. (Only x is treated as a variable, and the others are treated as parameters).

However, all I know is that y,z,w they are parameters and they are non-negative. I have already tried with the "optmization help page" from maplesoft's website, and it looks like it will search the range of x,y,z,w, and it will return numerical values at which this function is maximized. 

 

 

However, what I want is instead a close-form solution of x=g(y,z,w) that will maximize the function.   In other words, I would like to keep the parameter in symbolic forms. 

 

Can Maple do that?

Hi,

On page 32 (PDF)

 

Two different results were obtained using the Global optimization.

Log likelihood does not differ much. BUT the estimates vary a lot, such as mu[p].

tmp.mw

tmp.pdf

 

When I tried to use one of the answer from a particular run, I get the HFLOATING error, see picture.

So how reliable is this? Could there be a better way to optimize this ?

 

Thanks!

 

As an additional note, if I have Matlab R2014a, could I use Matlab to optimize the target function? DO I need to purchase a seperate addon?

 

hi all.

I have wrore the following program for optimization with bernstein and block pulse hybrid functions.

the program have some errors which i can't understand.

Bernestien1.mws

restart:

alias(C=binomial):
with(LinearAlgebra):
macro(LA= LinearAlgebra):


HybrFunc:=proc(N, M,  tj)               # N=Number of subintervals,  M=Number of functions in subintervals
 
local B, n, m;

global b;

for n from 1 to N do
for m from 0 to M-1 do

B := (i,m,t) -> C(m,i)*(1-t)^(m-i)*t^i:

b[n,m]:=unapply(piecewise(t>=(n-1)*tj/N and t<n*tj/N, B(m,2,N*t-(n-1)*tj), 0), t):
 od:od:


Array(1..N, 0..M-1, (n,m)->b[n,m](t)):

#convert(%,vector);
end proc:

HybrFunc(3, 3, 1);




                                       # End Of Definition
 
g2(t):=t;            #*exp(t-1):                      # Any other function can be replaced here
    

g1(t):=add(add(c[n,m]*b[n,m](t), m=0..2), n=1..3);
Optimization[Minimize](sqrt(int((g2(t)-g1(t))^2, t=0.. 1)));
assign(op(%[2]));
plot([g2(t),g1(t)], t=0..1, 0..5, color=[blue,red],thickness=[1,3],discont, scaling=constrained);

Array(1 .. 3, 0 .. 2, {(1, 0) = piecewise(0 <= t and t < 1/3, (1-3*t)^2, 0), (1, 1) = piecewise(0 <= t and t < 1/3, (6*(1-3*t))*t, 0), (1, 2) = piecewise(0 <= t and t < 1/3, 9*t^2, 0), (2, 0) = piecewise(1/3 <= t and t < 2/3, (2-3*t)^2, 0), (2, 1) = piecewise(1/3 <= t and t < 2/3, (2*(2-3*t))*(3*t-1), 0), (2, 2) = piecewise(1/3 <= t and t < 2/3, (3*t-1)^2, 0), (3, 0) = piecewise(2/3 <= t and t < 1, (3-3*t)^2, 0), (3, 1) = piecewise(2/3 <= t and t < 1, (2*(3-3*t))*(3*t-2), 0), (3, 2) = piecewise(2/3 <= t and t < 1, (3*t-2)^2, 0)}, datatype = anything, storage = rectangular, order = Fortran_order)

g2(t) := t

"g1(t):=c[1,0] ({[[(1-3 t)^2,0<=t and t<1/3],[0,otherwise]])+c[1,1] ({[[6 (1-3 t) t,0<=t and t<1/3],[0,otherwise]])+c[1,2] ({[[9 t^2,0<=t and t<1/3],[0,otherwise]])+c[2,0] ({[[(2-3 t)^2,1/3<=t and t<2/3],[0,otherwise]])+c[2,1] ({[[2 (2-3 t) (3 t-1),1/3<=t and t<2/3],[0,otherwise]])+c[2,2] ({[[(3 t-1)^2,1/3<=t and t<2/3],[0,otherwise]])+c[3,0] ({[[(3-3 t)^2,2/3<=t and t<1],[0,otherwise]])+c[3,1] ({[[2 (3-3 t) (3 t-2),2/3<=t and t<1],[0,otherwise]])+c[3,2] ({[[(3 t-2)^2,2/3<=t and t<1],[0,otherwise]])"

Error, (in Optimization:-NLPSolve) complex value encountered

Error, invalid left hand side in assignment

(1)



Download Bernestien1.mws

 I'll be so grateful if any one can help me.

Mahmood   Dadkhah

Ph.D Candidate

Applied Mathematics Department

f1 := -2*x1 - x2;
f2 := -x1 - 4*x2;
g1 := 2*x1 + 3*x2 - 6;
g2 := -x1;
g3 := -x2;
penalty := lambda1*Max(f1-M,0)+lambda2*Max(f2-M,0)+(M^2)*(max(g1,0) + max(g2,0) + max(g3,0));
M := 1;
k := 1;
s := 1;
lambda1 := 0.5;
lambda2 := 0.5;
with(Optimization):
Minimize(subs(lambda2=0.5, subs(lambda1=0.5, subs(M=1, penalty))));

correct answer for these parameters should be below, however, Minimize got error

when lambda1 = 0.5, lambda2 = 0.5
(x1, x2) = 1.551123, 0.965918
f(x1, x2) = (–4.068164, –5.414795);

1. how to do optimization with partial differential equation as constraints in maple

2. how to do optimization with  partial differential equation as objective function in order to make output obey this model

Hi, I would like to solve this nonlinear problem :

 

with :

I use the NLPSolve command and i get this error : Error, (in Optimization:-NLPSolve) integer variables are not accepted.

Can you help me ?

 

 

 

 

Hi Maple-Prime-ers!

I have a system of equations, containing 18 variables and 13 equations, making this a 5 degree of freedom (DOF) system.  I would like to analytically solve each of the equations in terms of each of these DOFs.  Normally I would use solve(system, dof_variables) to accomplish this, but it doesn't return anything.  Not even [].

I can solve this system by hand.  I've included a hand-solution involving isolate() and subs() in the attached worksheet.  I'm looking to incorporate this in an optimization algorithm with varying system, so I would like an automated way of doing this.

Does anybody have any suggestions to get solve to work as intended?

 

3driversys_FD_BRAKE_ICE_GEN.mw

 

Here is the system I am talking about:

 

 

The free variables are:  {FD_T, FD_W, ICE_T, EM2_T, BRAKE_T}

 

I'm looking for a solution in this form:

 

 

 

 

 

As am trying to solve this integration:

int(B*eta^(-B)*t^(B-1)*exp(-(t/eta)^B)*(t-n*h), t = n .. (n+1)*h)

where,

ETA:=1000

B:=2.5

But this error keeps coming :

Error, (in Optimization:-NLPSolve) integration range or variable must be specified in the second argument, got 1. = 1. .. 2.

 

Please Help ..

what is the wrong with Pi set ::: in this function ::: Warning, no iterations performed as initial point satisfies first-order conditions

Optimization[Minimize](x^2 + y^2 + 25*(sin(x)^2+sin(y)^2), x=-2*Pi .. 2*Pi , y= -2*Pi .. 2*Pi);

Warning, no iterations performed as initial point satisfies first-order conditions
[0., [x = HFloat(0.0), y = HFloat(0.0)]]


Optimization[Maximize](x^2 + y^2 + 25*(sin(x)^2+sin(y)^2), x=-2*Pi .. 2*Pi , y= -2*Pi .. 2*Pi);

Warning, no iterations performed as initial point satisfies first-order conditions
[-0., [x = HFloat(0.0), y = HFloat(0.0)]]

--------------------------------

I got my good result when I apply it with this function :


f:= (x,y)->cos(x)*sin(y) -(x/(y^2+1));


Optimization[Maximize](f(x,y), x = -1 .. 2, y = -1 .. 1);


[0.994945017202501170,[x = HFloat(-0.6362676080636113), y = HFloat(1.0)]]

Optimization[Minimize](f(x,y), x = -1 .. 2, y = -1 .. 1);


[-2.02180678335978703,[x = HFloat(2.0), y = HFloat(0.10578346945175972)]]

1 2 3 4 5 6 7 Last Page 1 of 11