Is it possible that optimization can be done without creating a seperate function file for the cost function and the constraint?..if yes then how can we do it....?

5 commentaires

Rik
Rik le 8 Juin 2018
What function are you using? Most functions will allow you to have a function handle as an input, so you can include a handle to a function in that same m-file (or even use an anonymous function).
Aquatris
Aquatris le 8 Juin 2018
Check the document page of "fmincon" where they have examples for this. Most solvers for Matlab follow similar input format.
Mondeep maz
Mondeep maz le 9 Juin 2018
It is an objective function consisting a sum of variables...problem is that i want to design the optimization such that no of variables of the objective function at each iteration can get changed...if i use a function handle i wont b able to change it i suppose...so i want a way to get around this problem
sabreen farouq
sabreen farouq le 19 Août 2022
where i can find this famous cost function ?
Walter Roberson
Walter Roberson le 20 Août 2022
There are a few example cost functions such as rosenbeck, but mostly you write your own cost function depending on what you want to optimize.
See also Problem Based Optimization

Connectez-vous pour commenter.

 Réponse acceptée

Walter Roberson
Walter Roberson le 9 Juin 2018

1 vote

Each iteration of the objective function called by fmincon or ga or similar must involve the same number of variables, and must be deterministic (no random values.)
You can use different numbers of variables for different calls to the minimizer, including in a loop. That could involve creating a new anonymous function for each iteration of the loop.
An objective function which is just the sum of variables can be expressed as just @sum; for a weighted sum, @(x) sum(x.*weights) or more robustly @(x) sum(x(:).*weights(:)) to be sure you do not have row/column difficulties.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by