I have two questionw about the fmincon function in matlab. I'm using it for a large optimization. The objective function takes about 20sec per call.
The first question is: I calculate a lot of data in the objective function, which I also need in the constraint function. Is there a way to pass this data from the objective function to the constraints function. I know that it is possible to transfer data from the main function to the constraint function and from the main function to the objective function by using function handles. I cannot figure out how to transfer data between the objective and constraint function, however. Right now I use a quick fix; I save the data created in the objective function to a .mat file and then load it again in the constraint function. I prefer a neater solution though.
The second question is also about variable transfer. My optimization features 30 variables. I use an active-line approach, which means that the objective function is called 31 times for each iteration. I would like to have a waitbar which displays the status of each iteration. Therefore I'd like to have access to the amount of iterations and function calls in a separate function. A bit like the OutputFcn, but instead one that is called after each function call. A second solution would be to have the number of iterations/function calls available within the objective function.
Any help would be greatly appreciated.
0 Comments
Sign in to comment.