opal/ProjectHome.md
2015-08-06 15:58:07 -04:00

4.7 KiB
Raw Permalink Blame History

Легкое и удобное управление моделями поиска оптимального управления.

Суть разработки в том, чтобы отделить сам алгоритм от всех "красивостей", которые уже будут реализованы в платформе. Это позволит программистам, занимающимся разработкой алгоритмов для решения задач оптимизации, сосредоточиться на самой задаче и не отвлекаться на создание графического интерфейса, графиков, таблиц отчетов. Среди запланированных возможностей платформы:

  1. Готовый универсальный графический интерфейс. Чтобы алгоритм заработал на этом интерфейсе нужно всего лишь написать несколько строк кода, которые будут работать по необходимому протоколу и обеспечат связь между графическим интерфейсом и алгоритмом. Сейчас я как раз проектирую данный протокол с целью сделать его максимально простым и удобным в использовании.
  2. Возможность управлять моделями и "методами" их решения. Под "методом" я понимаю алгоритм, который будет решать ту или иную модель: генетический алгоритм, метод проекции градиента, метод Беллмана и др. Можно будет создать одну модель, создать для нее несколько методов решения, чтобы узнать какие параметры будут более точны. Или создать несколько моделей (например, с разными коэффициентами в уравнениях), связать их с одним методом. И пока программа в автоматическом режиме производит расчеты, собирает данные и строит графики, не спеша выпить кофе.
  3. Возможность построения графиков одной или нескольких моделей на одном листе, для того, чтобы быстро и в наглядной форме можно было сравнить (например) как от изменения одного параметра изменяется поведение результата. Несколько нажатий клавиш, и подробный отчет будет сделан!
  4. Встроенные возможности экспорта таблиц в различные форматы: TeX, Excell, plain text и другие.

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

  • Сетевой вариант приложения. Управлять с одного компьютера, например, ноутбука, в то время как все вычисления могут производиться на отдельном сервере. Зачем загромождать свой рабочий компьютер, ведь его назначение - управлять! Расширяя эту возможность, можно разработать web-интерфейс, который позволит управлять всеми задачами из любого места в сети.
  • Возможность запуска задач не в виде написанного алгоритма, а в виде математической нотации, где для решения будут применяться уже готовые проверенные алгоритмы. Это несколько снизит скорость работы алгоритмов (универсализация всегда приводит к снижению скорости), но позволит проектировать и запускать задачи не имея больших навыков в программировании.

It's brilliant! No. It's Opal.