Optimization with sum and max function

10 ビュー (過去 30 日間)
Nana
Nana 2016 年 4 月 4 日
コメント済み: Walter Roberson 2016 年 4 月 6 日
Hi. I have a difficulty in writing this objective function for optimization. Especially in defining the second term and the summation. Should I make nested optimization for this?
Sum {[I * (x(i) - x(i-1) + lo(i) - g(i)) * p(i)] + max [I * (x(i) - x(i-1) + lo(i) - g(i)) * pfix]}
I = 1 if x(i) - x(i-1) + lo(i) - g(i)) * p(i) > 0 ; otherwise I = 0
for i = 1:24
Thanks in advance!
  1 件のコメント
Nana
Nana 2016 年 4 月 4 日
The decision variable is x(i)

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

回答 (1 件)

Walter Roberson
Walter Roberson 2016 年 4 月 4 日
When I = 1 if x(i) - x(i-1) + lo(i) - g(i)) * p(i) > 0 ; otherwise I = 0, then [I * (x(i) - x(i-1) + lo(i) - g(i)) * p(i)] is
max(0, (x(i) - x(i-1) + lo(i) - g(i)) * p(i))
so
max [I * (x(i) - x(i-1) + lo(i) - g(i)) * pfix]
is
max( max(0, (x(i) - x(i-1) + lo(i) - g(i)) * p(i)) * pfix )
Note: that max would only make sense to calculate if pfix is a vector
It is possible to vectorize the sum, but the details of the method would depend upon the orientation of x and lo and g and p and pfix
  4 件のコメント
Nana
Nana 2016 年 4 月 6 日
In other words, you suggest to use loop for that objective function other than vectorized?
Walter Roberson
Walter Roberson 2016 年 4 月 6 日
The objective function you wrote can likely be vectorized. I would need to know whether x, lo, g, p, and pfix are row vectors are column vectors, and I need an idea of the size of pfix in order to vectorize the max() term properly.
However, more recently you asked "How can I define that the decision variable is only x(i); and x(i-1) value is from the previous optimization step?". If that were the case, there would not appear to be anything to Sum over. Are you asking how to calculate one term of it without the Sum ?

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

カテゴリ

Help Center および File ExchangeAnnotations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by