Error using SumOperator with Optimization Variables

I have an Optimization Problem where I created the optim. variable x and the optim. problem linoptim.
Now I am trying to define my constraints and I keep getting an Error
nTasks = 3;
nRess = 2;
maxPT = 50;
x = optimvar('x',nTasks,nRess,maxPT,'Type', 'integer','LowerBound',0,'UpperBound',1);
Constraint1 = sum(x,[2 3]) == ones(nTasks, 1);
"Error in using optim.internal.problemdef.SumOperator
Dimension argument must be a positive integer scalar within indexing range.
If I write the same command and instead of x am using a matrix it works just fine:
sum(rand ([3 2 50]), [2 3])

 採用された回答

Torsten
Torsten 2022 年 8 月 14 日

0 投票

nTasks = 3;
nRess = 2;
maxPT = 50;
x = optimvar('x',nTasks,nRess,maxPT,'Type', 'integer','LowerBound',0,'UpperBound',1);
Constraint1 = sum(sum(x,2),3) == ones(nTasks,1);

2 件のコメント

Andra Vartolomei
Andra Vartolomei 2022 年 8 月 14 日
Thank you! :)
Torsten
Torsten 2022 年 8 月 14 日
Little deficits of problem-based programming ...

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

その他の回答 (0 件)

カテゴリ

製品

リリース

R2021a

タグ

質問済み:

2022 年 8 月 14 日

コメント済み:

2022 年 8 月 14 日

Community Treasure Hunt

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

Start Hunting!

Translated by