- If the objective function is not formulated correctly, it may decrease indefinitely. Ensure that the objective function accurately reflects the performance index you are trying to minimize.
- Check that your dynamic constraints and boundary conditions are implemented correctly. The optimizer must be constrained properly to find a feasible and bounded solution.
- Numerical issues like poor scaling of the problem, ill-conditioned equations, or too large or too small initial guesses can sometimes cause the optimization algorithm to behave unexpectedly.
- Consider whether the optimization algorithm and its parameters are suitable for your problem.
Find the optimal state and optimal control based on minimizing the performance index
์กฐํ ์: 10 (์ต๊ทผ 30์ผ)
์ด์ ๋๊ธ ํ์
Question:
Find the optimal state and optimal control based on minimizing the performance index ๐ฝ=โซ (๐ฅ(๐ก) โ 1/2 (๐ข(๐ก)^2) ) ๐๐ก , 0 โค ๐ก โค 1 subject to ๐ข(๐ก) = ๐ฅฬ(๐ก) + ๐ฅ(๐ก) with the condition ๐ฅ(0) = 0, ๐ฅ(1) = 1 2 (1 โ 1 /e )^2 where ๐ฝ๐๐ฅ๐๐๐ก = 0.08404562020 In this example the initial approximation is ๐ฅ1 (๐ก) = 1/2 (1 โ 1 /e ) ^2
Command window output:
solve_system_of_equations
Problem appears unbounded.
fmincon stopped because the objective function value is less than
the value of the objective function limit and constraints
are satisfied to within the value of the constraint tolerance.
<stopping criteria details>
>>
Please explain how to resolve the issue, I expected an anwer as two values after using fmincon but getting result as above?
๋๊ธ ์: 0
๋ต๋ณ (1๊ฐ)
Jaynik
2024๋
1์ 24์ผ
Hi Kunal,
Based on the output you have shared, it seems that the objective function value is less than the constraint set and hence the problem is unbounded.
You can try setting a stopping criteria by providing a value based on the function you have written. You can do this using the "ObjectiveLimit" argument like this:
options = optimoptions('fmincon', 'ObjectiveLimit', limitValue); % Replace limitValue
[x,fval] = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options);
If this does not work, it is difficult to exactly pinpoint the issue without the code. It would be easier if you are able to share the code you have written. Here are some things you can check to troubleshoot the issue:
You can read more about "fmincon" options here:
Hope this helps!
๋๊ธ ์: 0
์ฐธ๊ณ ํญ๋ชฉ
์นดํ ๊ณ ๋ฆฌ
Help Center ๋ฐ File Exchange์์ Solver Outputs and Iterative Display์ ๋ํด ์์ธํ ์์๋ณด๊ธฐ
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!