Multiple simultaneous discrete optimization problems

Dear all,
my question is based off of this example:
but with the following change.
In the example we had to optimize the volume of one beam for the given P, L, σmax, δmax.
What I would like to do is to optimize the volume (same x(i)s - i=1:10) for three different beams having different P, L, σmax, δmax.
Then I would like a report showing the smallest volume if I have to use only one, two, three, etc. beams.
Do you think it's doable?
Thanks

3 个评论

Of course it is doable!
WRITE THE CODE. Is there a reason why a loop is a bad thing?
for i = 1:3
solve problem i
end
You cannot do anything until you start writing though.
A loop doesn't seem to work well with functions. The reason is that:
1. The number of variables is a function of the number of beams I want to use.
2. I can't have variables in a function (or at least I don't know how).
Again to explain what I would like to do:
What I would like to do is to optimize the volume (same x(i)s - i=1:10) for three different beams having different P, L, σmax, δmax.
And I would like to get the best result if I were to have one beam that was satisfying the three of them (waste of material but maybe fabrication costs would go down) or two beams or three beams.
A loop should work fine with functions. I understand the number of variables changes based on the number of beams you are optimizing for. You can write functions that can take a varying number of inputs to handle this. To accomplish this, reference the documentation links for 'varargin' and 'nargin' below:

请先登录,再进行评论。

 采纳的回答

Solved by just entering more parameters in the function. And doing the loop outside of it.
If anybody has the same issue, I can provide more info.

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Surrogate Optimization 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by