Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



Simulannealbnd constraints
Posted:
Aug 9, 2014 4:45 AM


Hi community,
I hope you can help me with this. I want to use the simulated annealing solver (with GUI) for an optimization (minimization) problem that uses a simulink modell. For my problem i have got different variables that can be changed by the solver. I know how the set up a .m file including the cost function and how to define lower and upper boundary conditions for each of my variables, but I wonder if there is a possibility to set additional constraints. Especially i would need these:
1) The variables that can be change by the solver have to be integers (i.g. I set lb & up [1] & [4] the solver normally can vary the variable like 1.0, 1.1, 1.1545...3.93, 4.0 (double), I'd like the solver to vary those variables only as integers 1,2,3,4)
2) In my simulink modell I calculate different values (with my variables) which should be >, < or == as a defined value. Otherwise the set of variables that the solver has chosen for this iteration step do not meet my needs.
To give you an example:
Variables x(1) and x(2), lb [3 6], ub [1 9] (in my modell there are 5 variables, chose just one to keep it simple for the example) The variable have to be an integer x(1) = 3,2,1,0,1. The simulink modell does some calculations like 0.5 * x(1)^2 + x(2) + 5 = val_result; val_result should be minimized; additional constraints: 1) ( x(1) + x(2) ) / 2 == integer 2) x(1) * 5 < 4 (I know this is kind of ridiculous in this example because I could also change the ub but I need something like that in my modell)
Is there any possibility to solve such an problem with matlab/simulink optimization? (I can also change the solver if necessary, just thought of simulanneal because it should not get stuck in a local minima that easy)
Do not hesitate to ask if you need further explanation!
Thanks in advance for your help! Chris



