How to solve optimization problem using sequential minimal optimization (SMO) in MATLAB
You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Show older comments
0 votes
Hello all, I have the following optimization problem .

where
is a column vector of dimension
,
is also a column vector of dimension
and
is matrix of dimension
and
is
row vector of
.
is a column vector of dimension
,
and
and My query is How to solve it using sequential minimal optimization (SMO) in MATLAB ?
Any help in this regard will be highly appreciated.
Accepted Answer
Matt J
on 18 Mar 2023
There is this offering on the File Exchange, which I have never used,
7 Comments
charu shree
on 18 Mar 2023
Thank you so much sir for your answer....
The first link seems to be not useful in my case...Will look for quadprog...
charu shree
on 20 Mar 2023
I had checked the quadprog, but my query is how to solve it with those constraints....
Here is the implementation of the constraints:
Aeq = b_l;
beq = zeros(size(b_l));
lb = zeros(size(b_l));
ub = C*ones(size(b_l));
charu shree
on 20 Mar 2023
Thank you sir for your response...But how you have decided about the code which you have written.
Also what about summation.
You could also use the problem-based set-up, e.g.,
K=rand(3);
K=K*K.';
b=rand(3,1)-0.5;
C=5;
alpha=optimvar('alpha',numel(b),'LowerBound',0,'UpperBound',C);
prob=optimproblem('Objective',alpha.'*(b.*K.*b')*alpha/2-sum(alpha),...
'Constraints', b'*alpha==0);
sol=solve(prob).alpha
Solving problem using quadprog.
Minimum found that satisfies the constraints.
Optimization completed because the objective function is non-decreasing in
feasible directions, to within the value of the optimality tolerance,
and constraints are satisfied to within the value of the constraint tolerance.
sol = 3×1
5.0000
3.9981
5.0000
charu shree
on 20 Mar 2023
Thank you sir for your detailed answer.
Basically,
is the Gaussian radial basis function.
is the Gaussian radial basis function. My query is that as both l, j in
and
is from 1 to
, hence the norm inside exponential will always be zero, then how should we tackle this inside the two summations ?
is from 1 to
, hence the norm inside exponential will always be zero, then how should we tackle this inside the two summations ?My query is that as both l, j in and is from 1 to L_t, hence the norm inside exponential will always be zero, then how should we tackle this inside the two summations ?
No, the norm will be non-zero whenever the vectors pr[l] and pr[j] are different. Also, this seems far afield now from your originally-posted question. Even if all the norms were zero, the ways to proceed with the optimization, which Torsten and I have already described, would not change.
If your original question has been answered, please Accept-click the answer and post any new questions you may have in a new thread.
More Answers (0)
Categories
Find more on Problem-Based Optimization Setup in Help Center and File Exchange
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)