Skip to content

Алгоритм вычисления оптимального расписания приборов в умного доме

Notifications You must be signed in to change notification settings

VitalyKrenel/yandex-entrance-task-3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yandex-entrance-task-3

В проекте используется фрейморк для тестирования mocha в совокупности с библиотекой chai.

Ранее опыта использования и написания тестов не имел, поэтому была выбрана одна из самых популярных связок, для которой несложно найти гайды и рекомендаций, а также относительно легко можно найти ответ на какой-либо вопрос, воспользовавшись Stackoverflow.

Для запуска тестов:

npm run test

Работоспособность кода проверялась под Node v9.11.2.

Из файла index.js экспортируется функция optimizeEnergyConsumption, которая принимает на вход объект с сигнатурой, определенной в data/input.json, и возвращает объект с сигнатурой, определенной в data/output.json.

Условие задачи:

Цель задания — реализовать алгоритм работы «умного дома», который будет производить расчёт стоимости потребляемой электроэнергии в день и возвращать рекомендованное расписание использования электроприборов оптимизируя денежные затраты.

На вход подаются данные о тарифах, электроприборах и их максимальной потребляемой мощности.

Тарифы — это периоды в сутках, для которых задана отдельная стоимость киловатт-часа.

Приборы — это набор подключенных к «умному дому» электроприборов, для которых известна потребляемая мощность, длительность цикла работы, а также время дня, когда они используется. Каждый прибор должен отработать один цикл в сутки. Максимально потребляемая мощность указывается в ватт-часах.

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

  • При значении mode — day период с 07:00 до 21:00.
  • При значении mode — night период с 21:00 до 07:00 следующего дня.
  • При значении mode — undefined период отсутствует, прибор может работать в любой промежуток времени.

About

Алгоритм вычисления оптимального расписания приборов в умного доме

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published