Vector with some fixed values as a variable of scipy minimization fucntion
Is there any way to minimize a function with Scipy whose variable is a list with some specific values that may be 0? I tried to use constraints to solve this problem, but it seems that the minimizer is also iterating over these 0 elements, what leads to more computational expense.
python list scipy minimize
add a comment |
Is there any way to minimize a function with Scipy whose variable is a list with some specific values that may be 0? I tried to use constraints to solve this problem, but it seems that the minimizer is also iterating over these 0 elements, what leads to more computational expense.
python list scipy minimize
1
Could you add some data / code ?
– makaros
Nov 28 '18 at 22:05
The code is overcomplicated for such a small problem, so I will sumarize it: Let's say I want to minimize a function f(w) where w=[1,2,3,4,5,6,7,8]. For some reason I need some of the values of w to be 0 during the minimization process. Is there any way to pass this information to scipy oder than with the constraints argument?
– Douglas Zechin
Nov 28 '18 at 22:08
add a comment |
Is there any way to minimize a function with Scipy whose variable is a list with some specific values that may be 0? I tried to use constraints to solve this problem, but it seems that the minimizer is also iterating over these 0 elements, what leads to more computational expense.
python list scipy minimize
Is there any way to minimize a function with Scipy whose variable is a list with some specific values that may be 0? I tried to use constraints to solve this problem, but it seems that the minimizer is also iterating over these 0 elements, what leads to more computational expense.
python list scipy minimize
python list scipy minimize
asked Nov 28 '18 at 21:58
Douglas ZechinDouglas Zechin
1
1
1
Could you add some data / code ?
– makaros
Nov 28 '18 at 22:05
The code is overcomplicated for such a small problem, so I will sumarize it: Let's say I want to minimize a function f(w) where w=[1,2,3,4,5,6,7,8]. For some reason I need some of the values of w to be 0 during the minimization process. Is there any way to pass this information to scipy oder than with the constraints argument?
– Douglas Zechin
Nov 28 '18 at 22:08
add a comment |
1
Could you add some data / code ?
– makaros
Nov 28 '18 at 22:05
The code is overcomplicated for such a small problem, so I will sumarize it: Let's say I want to minimize a function f(w) where w=[1,2,3,4,5,6,7,8]. For some reason I need some of the values of w to be 0 during the minimization process. Is there any way to pass this information to scipy oder than with the constraints argument?
– Douglas Zechin
Nov 28 '18 at 22:08
1
1
Could you add some data / code ?
– makaros
Nov 28 '18 at 22:05
Could you add some data / code ?
– makaros
Nov 28 '18 at 22:05
The code is overcomplicated for such a small problem, so I will sumarize it: Let's say I want to minimize a function f(w) where w=[1,2,3,4,5,6,7,8]. For some reason I need some of the values of w to be 0 during the minimization process. Is there any way to pass this information to scipy oder than with the constraints argument?
– Douglas Zechin
Nov 28 '18 at 22:08
The code is overcomplicated for such a small problem, so I will sumarize it: Let's say I want to minimize a function f(w) where w=[1,2,3,4,5,6,7,8]. For some reason I need some of the values of w to be 0 during the minimization process. Is there any way to pass this information to scipy oder than with the constraints argument?
– Douglas Zechin
Nov 28 '18 at 22:08
add a comment |
1 Answer
1
active
oldest
votes
You can always wrap your function. A very unelegant, simple example:
from scipy.optimize import minimize
def f(x):
a, b, c, d = x
return a**2 + b**2 + c**2 + d**2
def f_with_zeros(z):
a, d = z
b = c = 0
return f([a, b, c, d])
res = minimize(f_with_zeros, [0, 0])
add a comment |
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
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%2f53528747%2fvector-with-some-fixed-values-as-a-variable-of-scipy-minimization-fucntion%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can always wrap your function. A very unelegant, simple example:
from scipy.optimize import minimize
def f(x):
a, b, c, d = x
return a**2 + b**2 + c**2 + d**2
def f_with_zeros(z):
a, d = z
b = c = 0
return f([a, b, c, d])
res = minimize(f_with_zeros, [0, 0])
add a comment |
You can always wrap your function. A very unelegant, simple example:
from scipy.optimize import minimize
def f(x):
a, b, c, d = x
return a**2 + b**2 + c**2 + d**2
def f_with_zeros(z):
a, d = z
b = c = 0
return f([a, b, c, d])
res = minimize(f_with_zeros, [0, 0])
add a comment |
You can always wrap your function. A very unelegant, simple example:
from scipy.optimize import minimize
def f(x):
a, b, c, d = x
return a**2 + b**2 + c**2 + d**2
def f_with_zeros(z):
a, d = z
b = c = 0
return f([a, b, c, d])
res = minimize(f_with_zeros, [0, 0])
You can always wrap your function. A very unelegant, simple example:
from scipy.optimize import minimize
def f(x):
a, b, c, d = x
return a**2 + b**2 + c**2 + d**2
def f_with_zeros(z):
a, d = z
b = c = 0
return f([a, b, c, d])
res = minimize(f_with_zeros, [0, 0])
answered Dec 3 '18 at 17:48
MstainoMstaino
2,1121413
2,1121413
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
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%2f53528747%2fvector-with-some-fixed-values-as-a-variable-of-scipy-minimization-fucntion%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

1
Could you add some data / code ?
– makaros
Nov 28 '18 at 22:05
The code is overcomplicated for such a small problem, so I will sumarize it: Let's say I want to minimize a function f(w) where w=[1,2,3,4,5,6,7,8]. For some reason I need some of the values of w to be 0 during the minimization process. Is there any way to pass this information to scipy oder than with the constraints argument?
– Douglas Zechin
Nov 28 '18 at 22:08