Как написать ограничение в Julia с несколькими значениями x, y, z? - PullRequest
0 голосов
/ 18 апреля 2019

как мне правильно написать это ограничение в Юлии?

@constraint(adwords, sum(x[i] * priceofhome1[i] for i=1:4)
+ sum(y[i] * priceofhome2 for i=1:4) + sum(z[i] * priceofhome3 for i=1:4) <= 12)

Я пытаюсь сказать, что сумма всех этих значений должна быть меньше или равна 12.

Iпопытался написать этот код различными способами

@constraint(adwords, sum(x[i] * priceofhome1[i] for i=1:4)
+ sum(y[i] * priceofhome2 for i=1:4) + sum(z[i] * priceofhome3 for i=1:4) <= 12)

Я получаю ошибку ниже .......

ОШИБКА: операторы <=,> = и == могутиспользоваться только для указания скалярных ограничений.Если вы пытаетесь добавить векторизованное ограничение, используйте вместо этого операторы поэлементного сравнения точек (. <=,.> = Или. ==)

1 Ответ

0 голосов
/ 18 апреля 2019

Добро пожаловать в StackOverflow!

Как подсказывает @hckr в своем комментарии, ваша ошибка, вероятно, состоит в том, что priceofhome2 и 3 могут быть массивами.Плюс, ошибка, которую Юлия дала вам, поддерживает эту идею.

@constraint(adwords, sum(x[i]*priceofhome1[i] + y[i]*priceofhome2[i] + 
            z[i]*priceofhome3[i] for i in 1:4) <= 12)
...