Solving an optimization problem using fmincon

Can anyone help me to solve this? I do not know how to use the contraint on C3 and how to implement ri in it!

 Accepted Answer

I think that this is a straightforward problem is you use the problem-based optimization workflow, which requires a relatively recent version of Optimization Toolbox™.
Alan Weiss
MATLAB mathematical toolbox documentation

3 Comments

thank you for the reply
I wrote this code for it
clc
clear
close all
prob = optimproblem('ObjectiveSense','min');
x = optimvar('x',3,1,'LowerBound',0,'UpperBound',inf);
i=[1:3];
j=[1:3];
a=rand(3,1);
a1=diag(a)';
r=rand(3,1);
cons1 = sum(x(i)) <= 10;
cons2 = sum(r(i).*x(i)) >= 10;
prob.Constraints.cons1 = cons1;
prob.Constraints.cons2 = cons2;
prob.Objective = sum(sum(a1(i,j),2).*x(i).*x(j));
[sol,fval] = solve(prob);
disp(sol.x)
disp(fval)
seems to be okay. it worked but also it said : "quadprog stopped because it was unable to find a point that satisfies the constraints within the value of the constraint tolerance"
So you were able to program it. Good for you!
Now let's look at your constraints:
cons1 = sum(x) <= 10;
cons2 = sum(r.*x) >= 10;
The r variable has all entries between 0 and 1, and the x variable is nonnegative. Therefore, for any x satisfying cons1, the value of sum(r.*x) is smaller. Therefore your constraints are inconsistent.
Alan Weiss
MATLAB mathematical toolbox documentation
you are right!
thank you a lot.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!