Trying to map my physics experiment onto an optimisation problem

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
4
down vote

favorite












I'm running an experiment consists in setting voltages on a set of 4 gates in an electronic device, and performing a measurement that will return a probability of success. My goal is to set the gates to a specific value that maximises the probability of success.



I can make a good initial estimate of the gate voltages I need, but I would then like to optimise over a bounded range of gate space, to maximise the probability of success.



The main issue that even though the 4D parameter space is not so large (average step in parameters is 1/10 of the bounded range), the measurement is very slow (~5 seconds), so going through the entire space by brute force will take too long.



So I am looking for an optimisation algorithm to do a more efficient walk through my gate voltage space and find the maximum success probability from my experiment.










share|cite|improve this question





















  • Do I understand you correctly that the input is an array of length 4 and the output is a probability? How many measurements do you have, meaning how many resulting probabilities do you have. What are you trying to optimize?
    – Michael Paris
    Sep 3 at 13:30










  • Correct, the input is an array of length 4 and the output is a single probability. I make a single measurement per input and I want to find the input that results in the highest output probability.
    – SuperNano
    Sep 3 at 14:05






  • 1




    You might be interested in "response surface methodology". en.wikipedia.org/wiki/Response_surface_methodology
    – awkward
    Sep 3 at 18:32














up vote
4
down vote

favorite












I'm running an experiment consists in setting voltages on a set of 4 gates in an electronic device, and performing a measurement that will return a probability of success. My goal is to set the gates to a specific value that maximises the probability of success.



I can make a good initial estimate of the gate voltages I need, but I would then like to optimise over a bounded range of gate space, to maximise the probability of success.



The main issue that even though the 4D parameter space is not so large (average step in parameters is 1/10 of the bounded range), the measurement is very slow (~5 seconds), so going through the entire space by brute force will take too long.



So I am looking for an optimisation algorithm to do a more efficient walk through my gate voltage space and find the maximum success probability from my experiment.










share|cite|improve this question





















  • Do I understand you correctly that the input is an array of length 4 and the output is a probability? How many measurements do you have, meaning how many resulting probabilities do you have. What are you trying to optimize?
    – Michael Paris
    Sep 3 at 13:30










  • Correct, the input is an array of length 4 and the output is a single probability. I make a single measurement per input and I want to find the input that results in the highest output probability.
    – SuperNano
    Sep 3 at 14:05






  • 1




    You might be interested in "response surface methodology". en.wikipedia.org/wiki/Response_surface_methodology
    – awkward
    Sep 3 at 18:32












up vote
4
down vote

favorite









up vote
4
down vote

favorite











I'm running an experiment consists in setting voltages on a set of 4 gates in an electronic device, and performing a measurement that will return a probability of success. My goal is to set the gates to a specific value that maximises the probability of success.



I can make a good initial estimate of the gate voltages I need, but I would then like to optimise over a bounded range of gate space, to maximise the probability of success.



The main issue that even though the 4D parameter space is not so large (average step in parameters is 1/10 of the bounded range), the measurement is very slow (~5 seconds), so going through the entire space by brute force will take too long.



So I am looking for an optimisation algorithm to do a more efficient walk through my gate voltage space and find the maximum success probability from my experiment.










share|cite|improve this question













I'm running an experiment consists in setting voltages on a set of 4 gates in an electronic device, and performing a measurement that will return a probability of success. My goal is to set the gates to a specific value that maximises the probability of success.



I can make a good initial estimate of the gate voltages I need, but I would then like to optimise over a bounded range of gate space, to maximise the probability of success.



The main issue that even though the 4D parameter space is not so large (average step in parameters is 1/10 of the bounded range), the measurement is very slow (~5 seconds), so going through the entire space by brute force will take too long.



So I am looking for an optimisation algorithm to do a more efficient walk through my gate voltage space and find the maximum success probability from my experiment.







optimization






share|cite|improve this question













share|cite|improve this question











share|cite|improve this question




share|cite|improve this question










asked Sep 3 at 13:24









SuperNano

303




303











  • Do I understand you correctly that the input is an array of length 4 and the output is a probability? How many measurements do you have, meaning how many resulting probabilities do you have. What are you trying to optimize?
    – Michael Paris
    Sep 3 at 13:30










  • Correct, the input is an array of length 4 and the output is a single probability. I make a single measurement per input and I want to find the input that results in the highest output probability.
    – SuperNano
    Sep 3 at 14:05






  • 1




    You might be interested in "response surface methodology". en.wikipedia.org/wiki/Response_surface_methodology
    – awkward
    Sep 3 at 18:32
















  • Do I understand you correctly that the input is an array of length 4 and the output is a probability? How many measurements do you have, meaning how many resulting probabilities do you have. What are you trying to optimize?
    – Michael Paris
    Sep 3 at 13:30










  • Correct, the input is an array of length 4 and the output is a single probability. I make a single measurement per input and I want to find the input that results in the highest output probability.
    – SuperNano
    Sep 3 at 14:05






  • 1




    You might be interested in "response surface methodology". en.wikipedia.org/wiki/Response_surface_methodology
    – awkward
    Sep 3 at 18:32















Do I understand you correctly that the input is an array of length 4 and the output is a probability? How many measurements do you have, meaning how many resulting probabilities do you have. What are you trying to optimize?
– Michael Paris
Sep 3 at 13:30




Do I understand you correctly that the input is an array of length 4 and the output is a probability? How many measurements do you have, meaning how many resulting probabilities do you have. What are you trying to optimize?
– Michael Paris
Sep 3 at 13:30












Correct, the input is an array of length 4 and the output is a single probability. I make a single measurement per input and I want to find the input that results in the highest output probability.
– SuperNano
Sep 3 at 14:05




Correct, the input is an array of length 4 and the output is a single probability. I make a single measurement per input and I want to find the input that results in the highest output probability.
– SuperNano
Sep 3 at 14:05




1




1




You might be interested in "response surface methodology". en.wikipedia.org/wiki/Response_surface_methodology
– awkward
Sep 3 at 18:32




You might be interested in "response surface methodology". en.wikipedia.org/wiki/Response_surface_methodology
– awkward
Sep 3 at 18:32










1 Answer
1






active

oldest

votes

















up vote
2
down vote



accepted










Crude possible answer. Your "$1/10$ of the range" for step size for each parameter means a brute force search would require $10^4$ experiments. You could consider a local search algorithm that evaluates at the $3^4 = 81$ points that divide each parameter interval in quarters. Then look near the single point that offers the maximum so far. That might reduce the number of measurements from ten thousand to some hundreds.



Whether a strategy like this is likely to find a value at (or near) the maximum depends on how regular/convex the objective function is. If it actually has a single maximum at the top of a single hill you will be close. If it oscillates a lot as a function of parameter values you are out of luck.



Edit. Actually, brute force would call for $11^4$ evaluations since you want to check at the boundary points too. That makes this a fence post problem. But the essence of my suggestion is unchanged.






share|cite|improve this answer






















  • Thanks, I'll give it a shot. I believe the objective function is fairly smooth, but it gets exponentially steep as it approaches the maximum, so I am a bit worried that the coarser search might miss it. But this is simple to implement so it's worth a try.
    – SuperNano
    Sep 3 at 14:10










  • I think steep near the maximum is good/helpful. Let me know how it works out (here or at my email, which is easy to find).(Note my edit, suggesting only internal points for the first round.)
    – Ethan Bolker
    Sep 3 at 14:14











Your Answer




StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "69"
;
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',
convertImagesToLinks: true,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2903858%2ftrying-to-map-my-physics-experiment-onto-an-optimisation-problem%23new-answer', 'question_page');

);

Post as a guest






























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
2
down vote



accepted










Crude possible answer. Your "$1/10$ of the range" for step size for each parameter means a brute force search would require $10^4$ experiments. You could consider a local search algorithm that evaluates at the $3^4 = 81$ points that divide each parameter interval in quarters. Then look near the single point that offers the maximum so far. That might reduce the number of measurements from ten thousand to some hundreds.



Whether a strategy like this is likely to find a value at (or near) the maximum depends on how regular/convex the objective function is. If it actually has a single maximum at the top of a single hill you will be close. If it oscillates a lot as a function of parameter values you are out of luck.



Edit. Actually, brute force would call for $11^4$ evaluations since you want to check at the boundary points too. That makes this a fence post problem. But the essence of my suggestion is unchanged.






share|cite|improve this answer






















  • Thanks, I'll give it a shot. I believe the objective function is fairly smooth, but it gets exponentially steep as it approaches the maximum, so I am a bit worried that the coarser search might miss it. But this is simple to implement so it's worth a try.
    – SuperNano
    Sep 3 at 14:10










  • I think steep near the maximum is good/helpful. Let me know how it works out (here or at my email, which is easy to find).(Note my edit, suggesting only internal points for the first round.)
    – Ethan Bolker
    Sep 3 at 14:14















up vote
2
down vote



accepted










Crude possible answer. Your "$1/10$ of the range" for step size for each parameter means a brute force search would require $10^4$ experiments. You could consider a local search algorithm that evaluates at the $3^4 = 81$ points that divide each parameter interval in quarters. Then look near the single point that offers the maximum so far. That might reduce the number of measurements from ten thousand to some hundreds.



Whether a strategy like this is likely to find a value at (or near) the maximum depends on how regular/convex the objective function is. If it actually has a single maximum at the top of a single hill you will be close. If it oscillates a lot as a function of parameter values you are out of luck.



Edit. Actually, brute force would call for $11^4$ evaluations since you want to check at the boundary points too. That makes this a fence post problem. But the essence of my suggestion is unchanged.






share|cite|improve this answer






















  • Thanks, I'll give it a shot. I believe the objective function is fairly smooth, but it gets exponentially steep as it approaches the maximum, so I am a bit worried that the coarser search might miss it. But this is simple to implement so it's worth a try.
    – SuperNano
    Sep 3 at 14:10










  • I think steep near the maximum is good/helpful. Let me know how it works out (here or at my email, which is easy to find).(Note my edit, suggesting only internal points for the first round.)
    – Ethan Bolker
    Sep 3 at 14:14













up vote
2
down vote



accepted







up vote
2
down vote



accepted






Crude possible answer. Your "$1/10$ of the range" for step size for each parameter means a brute force search would require $10^4$ experiments. You could consider a local search algorithm that evaluates at the $3^4 = 81$ points that divide each parameter interval in quarters. Then look near the single point that offers the maximum so far. That might reduce the number of measurements from ten thousand to some hundreds.



Whether a strategy like this is likely to find a value at (or near) the maximum depends on how regular/convex the objective function is. If it actually has a single maximum at the top of a single hill you will be close. If it oscillates a lot as a function of parameter values you are out of luck.



Edit. Actually, brute force would call for $11^4$ evaluations since you want to check at the boundary points too. That makes this a fence post problem. But the essence of my suggestion is unchanged.






share|cite|improve this answer














Crude possible answer. Your "$1/10$ of the range" for step size for each parameter means a brute force search would require $10^4$ experiments. You could consider a local search algorithm that evaluates at the $3^4 = 81$ points that divide each parameter interval in quarters. Then look near the single point that offers the maximum so far. That might reduce the number of measurements from ten thousand to some hundreds.



Whether a strategy like this is likely to find a value at (or near) the maximum depends on how regular/convex the objective function is. If it actually has a single maximum at the top of a single hill you will be close. If it oscillates a lot as a function of parameter values you are out of luck.



Edit. Actually, brute force would call for $11^4$ evaluations since you want to check at the boundary points too. That makes this a fence post problem. But the essence of my suggestion is unchanged.







share|cite|improve this answer














share|cite|improve this answer



share|cite|improve this answer








edited Sep 3 at 14:15

























answered Sep 3 at 13:37









Ethan Bolker

36.5k54299




36.5k54299











  • Thanks, I'll give it a shot. I believe the objective function is fairly smooth, but it gets exponentially steep as it approaches the maximum, so I am a bit worried that the coarser search might miss it. But this is simple to implement so it's worth a try.
    – SuperNano
    Sep 3 at 14:10










  • I think steep near the maximum is good/helpful. Let me know how it works out (here or at my email, which is easy to find).(Note my edit, suggesting only internal points for the first round.)
    – Ethan Bolker
    Sep 3 at 14:14

















  • Thanks, I'll give it a shot. I believe the objective function is fairly smooth, but it gets exponentially steep as it approaches the maximum, so I am a bit worried that the coarser search might miss it. But this is simple to implement so it's worth a try.
    – SuperNano
    Sep 3 at 14:10










  • I think steep near the maximum is good/helpful. Let me know how it works out (here or at my email, which is easy to find).(Note my edit, suggesting only internal points for the first round.)
    – Ethan Bolker
    Sep 3 at 14:14
















Thanks, I'll give it a shot. I believe the objective function is fairly smooth, but it gets exponentially steep as it approaches the maximum, so I am a bit worried that the coarser search might miss it. But this is simple to implement so it's worth a try.
– SuperNano
Sep 3 at 14:10




Thanks, I'll give it a shot. I believe the objective function is fairly smooth, but it gets exponentially steep as it approaches the maximum, so I am a bit worried that the coarser search might miss it. But this is simple to implement so it's worth a try.
– SuperNano
Sep 3 at 14:10












I think steep near the maximum is good/helpful. Let me know how it works out (here or at my email, which is easy to find).(Note my edit, suggesting only internal points for the first round.)
– Ethan Bolker
Sep 3 at 14:14





I think steep near the maximum is good/helpful. Let me know how it works out (here or at my email, which is easy to find).(Note my edit, suggesting only internal points for the first round.)
– Ethan Bolker
Sep 3 at 14:14


















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2903858%2ftrying-to-map-my-physics-experiment-onto-an-optimisation-problem%23new-answer', 'question_page');

);

Post as a guest













































































這個網誌中的熱門文章

How to combine Bézier curves to a surface?

Mutual Information Always Non-negative

Why am i infinitely getting the same tweet with the Twitter Search API?