Задача прогнозирования / оптимизации TimeSeries для водяного насоса на солнечной энергии - PullRequest
1 голос
/ 26 мая 2020

Я хотел бы решить «проблему оптимизации», используя новые и причудливые методы машинного обучения (также чтобы узнать о них больше), и я еще не нашел, какие методы / модели помогут мне решить мою специфику. c проблема. Возможно, у вас есть вдохновение или подсказки: -)

Ограничения:

Водяной насос подключен к батарее, которая питается от солнечной панели. Скорость водяного насоса может быть установлена ​​от 0 (остановка) до 1023 (работа на полной скорости). Батарею можно заряжать до 13,4 В, а она разряжена при 11,7 В. Я могу измерить напряжение и ток батареи и установить скорость насоса с помощью ESP8266.

Цель:

Например, с 8:00 до 22:00 скорость насоса всегда должна быть максимально высокой.

Проблема:

Проблема в том, что аккумулятор емкость ограничена и солнце не всегда светит (для солнечной панели). Таким образом, в солнечный день насос может работать, например, на скорости 500 с 8:00 до 22:00, но в пасмурную погоду скорость должна быть ниже, чтобы потреблять меньше энергии. Если утром пасмурно, он должен работать с небольшой скоростью утром, а если днем ​​становится солнечно, он может работать немного быстрее и т. Д.

Решение / TL; DR:

У меня есть следующие входные данные для обучения, например, искусственная рекуррентная нейронная сеть (RNN) с длительной краткосрочной памятью (LSTM):

  • временная метка (будет измерять значения каждые 60se c)
  • напряжение аккумулятора [11.7-13.4]
  • скорость насоса (разрядит аккумулятор) [0-1023]
  • яркость (зарядит аккумулятор) [0 (темный) - 1023 (светлый)]

Теперь я подумал об использовании алгоритма geneti c для расчета «оптимального плана скорости насоса» на день в 8:00:

например, 08:00 -> 300, 08:01 -> 300, ..., 10:00 -> 400, ..., 15:00 -> 900, ..., 22:00 -> 0

Поскольку я не знаю, сработает ли такой план (со случайными значениями скорости насоса), я хотел бы спрогнозировать напряжение батареи, используя RNN, как он узнал из истории данных, этот высокий яркость будет заряжать аккумулятор, а высокая скорость насоса разрядит аккумулятор быстрее.

Итак, у меня есть скорость насоса на следующие 24 часа и прогноз погоды для яркости, и теперь RNN должен прогнозировать напряжение аккумулятора. Как этого достичь? Подходит ли LSTM?

Затем я могу проверить напряжение батареи, если оно всегда остается> 11,7 В (функция фитнеса), если нет, я могу обновите план соответствующим образом (кроссовер / мутация), пока алгоритм geneti c не найдет хороший план.

Я также могу повторить весь расчет и адаптировать план каждые 60 минут.

Что вы думаете?

Вот уже измеренные данные за ~ 2 (солнечных) дня. Насос включается (1023) на 10 минут каждый час. Когда аккумулятор полностью заряжен> 13,4 В, напряжение начинает «мерцать» контроллером солнечного зарядного устройства; Я предполагаю, что это сбивает с толку RNN, и я могу применить: if value> 13,4? 13,4: значение.

data example

Спасибо, Бен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...