Lagrangian Multiplier with inequality constraints when variables has a matrix form

2 ビュー (過去 30 日間)
Susan
Susan 2019 年 4 月 18 日
コメント済み: Susan 2019 年 4 月 19 日
Hey Guys,
I am trying to implement the following optimization problem in MATLAB using the Lagrangian multiplier and got stuck at some points. Here is my code. Would anyone please be so kind as to help me to implement this correctly in MATLAB? Thanks in advance
the variable I am looking for is c with dimension of (I,L,K,M). The objective funcvtion is a function of R0 and R1 which each of these are a function of c.
ObjFun = f( R0(c), R1(c));
Const1 = sum(sum(c(:,:,:,:))) - 1 <= 0;
for k = 1 : K
for m = 1 : M
for l = 1 : L
for i = 1 : I
Const2 = -1*c(i, l, k, m) <= 0;
Const3 = c(i, l, k, m) - 1 <= 0;
end
end
end
end
LagrangianFun = ObjFun + lambda1*Const1 + lambda2*Const2 + lambda3*Const3;
dLagrangianFun_dc = diff(LagrangianFun,l) == 0;
dLagrangianFun_dlambda1 = diff(LagrangianFun,lambda1) == 0;
dLagrangianFun_dlambda2 = diff(LagrangianFun,lambda2) == 0;
dLagrangianFun_dlambda3 = diff(LagrangianFun,lambda3) == 0;
system = [dLagrangianFun_dc; dLagrangianFun_dlambda1; dLagrangianFun_dlambda2; dLagrangianFun_dlambda3];
[c_val, lambda1_val, , lambda2_val, lambda3_val] = solve(system, [c lambda1 lambda2 lambda3 ], 'Real', true) ;
  2 件のコメント
Susan
Susan 2019 年 4 月 18 日
the optimization problem is:
max_{c} \sum_{l}\sum_{i} f( R0_{i,l}(c), R1_{i,l}(c));
s.t. 0<= c(i, l, k, m) <= 1 for all k= {1, 2, ...., K} and m = {1, 2, ..., M} and i = {1,...., I} and l = {1,..., L}
sum_{l} sum_{i} c(i,l,k,m) <= 1 for all k= {1, 2, ...., K} and m = {1, 2, ..., M}
Susan
Susan 2019 年 4 月 19 日
Any Suggestions?

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeGet Started with Optimization Toolbox についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by