Почему этот запрос линейного программирования не работает при повторении? - PullRequest
0 голосов
/ 18 марта 2020

ПРЕДИСЛОВИЕ Это вопрос об использовании линейного моделирования для понимания системы выработки электроэнергии, но на самом деле вам не нужно много знать, чтобы понять это. Я почти уверен, что это вопрос о R.

Я строю линейную модель, чтобы оптимизировать почасовую доставку электрогенераторов c в стране (называемой "Ливан", но на самом деле это немного фиктивные с точки зрения данных, которые я использую). У меня есть модель, которая удовлетворительно оптимизирует почасовую генерацию, код выглядит следующим образом:

lp.newobjfun.norelax <- lpSolve::lp(dir = "min", objfun.lebanon.postwalk1, constraintmatrix.lebanon.postwalk.allgenerators, directions.lebanon.postwalk3, rhs.lebanon.postwalk4)

Выше работает нормально. Конечно, делать это каждый день немного бесполезно, поэтому вместо этого я хочу иметь возможность выполнять его многократно каждый день в течение года. Предполагается, что приведенный ниже код должен это делать, но вместо этого возвращаемые значения (значение целевой функции) всегда равны 0. Есть идеи, что я делаю неправильно?

for(i in 1:365) 
{
rhs.lebanon.postwalk4[1:24] = as.numeric(supplylebanon2010wholeyear[i,])

lp.newobjfun.norelax <- lpSolve::lp(dir = "min", objfun.lebanon.postwalk1, constraintmatrix.lebanon.postwalk.allgenerators, directions.lebanon.postwalk3, rhs.lebanon.postwalk4)

print(lp.newobjfun.norelax$solution); 
}

Для ясности, во второй версии правая часть первых 24 ограничений модифицирована, чтобы отразить изменение почасовой подачи электроэнергии каждый день года.

Заранее спасибо!

1 Ответ

0 голосов
/ 18 марта 2020

Ладно, не бери в голову, я понял, что есть конвертация единиц из кВтч в МВтч, о которой я не позаботился.

Извините за беспокойство!

...