Absolute Value in optimization expression

How can I add an absolute value to an optimization expression I am trying to optimize? MATLAB shows the following error :
Undefined function 'abs' for input arguments of type 'optim.problemdef.OptimizationExpression'.
problem is :
minimize abs ( ax + by + cz - d )
subject to , x,y,z are integers in some range

回答 (2 件)

Torsten
Torsten 2019 年 2 月 4 日
編集済み: Torsten 2019 年 2 月 4 日

1 投票

min: eps
+ (a*x + b*y + c*z - d) - eps <= 0
- (a*x + b*y + c*z - d) - eps <= 0
subject to x,y,z are integers in some range with a new variable "eps".
Sean de Wolski
Sean de Wolski 2019 年 2 月 1 日
編集済み: Sean de Wolski 2019 年 2 月 1 日

0 投票

Square it instead so as to not introduce a discontinuity
(expr).^2

カテゴリ

ヘルプ センター および File ExchangeProblem-Based Optimization Setup についてさらに検索

質問済み:

2019 年 2 月 1 日

編集済み:

2019 年 2 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by