how to use arrays in gekko optimizer for python
up vote
0
down vote
favorite
I tried to convert an example from gekko
python
optimizer by using the list, array x
instead of variables x1
..x4
. This is the code which gives the result, but I think it is not correct
from gekko import GEKKO
import numpy as np
# Initialize Model
m = GEKKO(remote=False)
#help(m)
#define parameter
eq = m.Param(value=40)
#initialize variables
x = [m.Var(value=1,lb=1,ub=5) for i in range(4)]
x[1].value=5
x[2].value=5
#Equations
m.Equation(np.prod([x[i] for i in range(0,4)])>=25)
m.Equation(np.sum([x[i]**2 for i in range(0,4)])==eq)
#Objective
m.Obj(x[0]*x[3]*(x[0]+x[1]+x[2])+x[2])
#Set global options
m.options.IMODE = 3 #steady state optimization
#Solve simulation
m.solve() # solve on public server
#Results
print('')
print('Results')
print('x1: ' + str(x[0].value))
print('x2: ' + str(x[1].value))
print('x3: ' + str(x[2].value))
print('x4: ' + str(x[3].value))
Please anyone could help me out how to use list, array of variables in gekko
. This seems to me less elegant and I was wondering is there is a way of using Array() function instead of Var(). I can not figure out how and when we can use Array() function.
python
add a comment |
up vote
0
down vote
favorite
I tried to convert an example from gekko
python
optimizer by using the list, array x
instead of variables x1
..x4
. This is the code which gives the result, but I think it is not correct
from gekko import GEKKO
import numpy as np
# Initialize Model
m = GEKKO(remote=False)
#help(m)
#define parameter
eq = m.Param(value=40)
#initialize variables
x = [m.Var(value=1,lb=1,ub=5) for i in range(4)]
x[1].value=5
x[2].value=5
#Equations
m.Equation(np.prod([x[i] for i in range(0,4)])>=25)
m.Equation(np.sum([x[i]**2 for i in range(0,4)])==eq)
#Objective
m.Obj(x[0]*x[3]*(x[0]+x[1]+x[2])+x[2])
#Set global options
m.options.IMODE = 3 #steady state optimization
#Solve simulation
m.solve() # solve on public server
#Results
print('')
print('Results')
print('x1: ' + str(x[0].value))
print('x2: ' + str(x[1].value))
print('x3: ' + str(x[2].value))
print('x4: ' + str(x[3].value))
Please anyone could help me out how to use list, array of variables in gekko
. This seems to me less elegant and I was wondering is there is a way of using Array() function instead of Var(). I can not figure out how and when we can use Array() function.
python
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I tried to convert an example from gekko
python
optimizer by using the list, array x
instead of variables x1
..x4
. This is the code which gives the result, but I think it is not correct
from gekko import GEKKO
import numpy as np
# Initialize Model
m = GEKKO(remote=False)
#help(m)
#define parameter
eq = m.Param(value=40)
#initialize variables
x = [m.Var(value=1,lb=1,ub=5) for i in range(4)]
x[1].value=5
x[2].value=5
#Equations
m.Equation(np.prod([x[i] for i in range(0,4)])>=25)
m.Equation(np.sum([x[i]**2 for i in range(0,4)])==eq)
#Objective
m.Obj(x[0]*x[3]*(x[0]+x[1]+x[2])+x[2])
#Set global options
m.options.IMODE = 3 #steady state optimization
#Solve simulation
m.solve() # solve on public server
#Results
print('')
print('Results')
print('x1: ' + str(x[0].value))
print('x2: ' + str(x[1].value))
print('x3: ' + str(x[2].value))
print('x4: ' + str(x[3].value))
Please anyone could help me out how to use list, array of variables in gekko
. This seems to me less elegant and I was wondering is there is a way of using Array() function instead of Var(). I can not figure out how and when we can use Array() function.
python
I tried to convert an example from gekko
python
optimizer by using the list, array x
instead of variables x1
..x4
. This is the code which gives the result, but I think it is not correct
from gekko import GEKKO
import numpy as np
# Initialize Model
m = GEKKO(remote=False)
#help(m)
#define parameter
eq = m.Param(value=40)
#initialize variables
x = [m.Var(value=1,lb=1,ub=5) for i in range(4)]
x[1].value=5
x[2].value=5
#Equations
m.Equation(np.prod([x[i] for i in range(0,4)])>=25)
m.Equation(np.sum([x[i]**2 for i in range(0,4)])==eq)
#Objective
m.Obj(x[0]*x[3]*(x[0]+x[1]+x[2])+x[2])
#Set global options
m.options.IMODE = 3 #steady state optimization
#Solve simulation
m.solve() # solve on public server
#Results
print('')
print('Results')
print('x1: ' + str(x[0].value))
print('x2: ' + str(x[1].value))
print('x3: ' + str(x[2].value))
print('x4: ' + str(x[3].value))
Please anyone could help me out how to use list, array of variables in gekko
. This seems to me less elegant and I was wondering is there is a way of using Array() function instead of Var(). I can not figure out how and when we can use Array() function.
python
python
edited Nov 10 at 21:40
asked Oct 23 at 8:54
Radovan Omorjan
215
215
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
This one will work as well.
#Equations
m.Equation(np.prod(np.asarray(x))>=25)
m.Equation(np.sum(np.asarray(x)**2)==eq)
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
This one will work as well.
#Equations
m.Equation(np.prod(np.asarray(x))>=25)
m.Equation(np.sum(np.asarray(x)**2)==eq)
add a comment |
up vote
1
down vote
This one will work as well.
#Equations
m.Equation(np.prod(np.asarray(x))>=25)
m.Equation(np.sum(np.asarray(x)**2)==eq)
add a comment |
up vote
1
down vote
up vote
1
down vote
This one will work as well.
#Equations
m.Equation(np.prod(np.asarray(x))>=25)
m.Equation(np.sum(np.asarray(x)**2)==eq)
This one will work as well.
#Equations
m.Equation(np.prod(np.asarray(x))>=25)
m.Equation(np.sum(np.asarray(x)**2)==eq)
edited Nov 10 at 21:41
answered Nov 10 at 20:07
Radovan Omorjan
215
215
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52944970%2fhow-to-use-arrays-in-gekko-optimizer-for-python%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown