Русский | English

Добро пожаловать в веб-сервисы для систем поддержки принятия решений!

На данном портале представлены методы поддержки принятия решений и исследования операций, включая методы многокритериального анализа альтернатив и оптимизации. Все методы доступны через пользовательский интерфейс и через RESTful API после регистрации.

Исходные тексты на github

Скачать описание RESTful API  Пример

Основные доступные методы:

МетодОписание
ant_colony Решение задачи поиска кратчайшего пути в графе методом муравьиной колонии. Входные данные представлены в виде: { "from_vertex" : "<имя начальной вершины>", "to_vertex" : "<имя конечной вершины>", "graph":{ "имя исх вершины": { "имя вх вершины 1": <длина дуги>, "имя вх вершины 2": <длина дуги> }, ..... } }
bellman_ford Реализация алгоритма Беллмана-Форда. Алгоритм Беллмана-Форда предназначен для решения задачи поиска кратчайшего пути на графе. Для заданного взвешенного графа алгоритм находит кратчайшие расстояния от выделенной вершины-источника до всех остальных вершин графа. Его отличительной особенностью является применимость к графам с произвольными, в том числе отрицательными, весами. Входные данные содержат: массив рёбер “graph”, каждое из которых состоит из вершины “из“, вершины “в“ и веса ребра; номер начальной вершины “vertex“, для которой выполняется поиск; переменная “isDirect“, которая может принимать значения 1 и 0 в зависимости от того, ориентированный граф или нет. Программная реализация: Храпов Н.В.
eulerian_path Поиск эйлерова пути в неориентированном графе. Необходимо задать массив ребер. Необязательный параметр: номер начальной вершины. { "graf": [[1,2],[2,3]],"initial": 1 }
fuzzy_preferences Ранжирование альтернатив в нечетких областях предпочтений. Метод разработан при финансовой поддержке РФФИ (проект № 16-01-00571-а).
GFP Метод выявления предпочтений лица, принимающего решения. Заключается в разбиении пространства критериев на области и определении отношения предпочтения между ними с использованием качественных методов теории принятия решений. В случае если несколько недоминируемых альтернатив попадают в одну область, рекомендовано воспользоваться количественными методами сопоставления альтернатив внутри заданной области. Функция, с помощью которой вычисляют итоговую оценку альтернатив, названа гибридной функцией предпочтений. Она может быть использована в задачах выбора, ранжирования и оптимизации.
graph_connectivity Определение связности неориентированного графа. Исходные данные задаются в виде вершин и массива ребер: { "graf": { "1": ["2","4","6"], "4": [] } }.
hamiltonian_path Поиск гамильтонова пути в направленном графе. Исходные данные задаются в виде вершин и массива инцидентных им дуг: { "graf": { "1": ["2","4","6"], "4": [] }, "initial": "1" }. Может быть указан необязательный параметр - начальная вершина initial.
kernighan_lin Алгоритм Кернигана – Лина. Позволяет разбить граф на заданное количество частей с минимизацией отклонений весов частей от среднего и минимизацией связей между частями. Вх. параметры: Iterations - число итераций. Mode - режим работы программы (1-оптимизированный для задачи в которой происходит разбиение с учетом весов вершин и весов ребер, 2-классический). Numbers - на сколько частей делить. Vertex – массив весов вершин графа. Connections – связь вершин с указанием веса. Вых. параметры: trace - трассировка, result - результат, включает: Parts - группы. EdgesWeight – вес ребер. VertexWeight – вес вершин. Vertex-вершины, которые входят в группу. Программная реализация: В.Качнов
metis Разбиение графа на подграфы. Использует библиотеку: http://glaros.dtc.umn.edu/gkhome/metis/metis/overview . Исходные данные: "has_vertices_size" = 1, если задан размер вершин, "number_of_vertices_weights" - число весов вершин, "has_edges_weights" = 1, если заданы веса ребер, "graph" - массив вершин, для каждой вершины в массиве могут быть заданы: размер вершины, веса вершины, смежные вершины (нумерация с 1) и веса ребер. "nparts" - число частей на которые следует разбить граф.
min_fal Минимизация функций алгебры логики. В качестве входных данных указывается изображающее число: {"output": "11010110"}
opt_dynamic_prog Решение задач распределения ресурсов методом динамического программирования. Параметры входного JSON: а - коэффициенты в ограничении, max_res - суммарная величина выделенного ресурса, f - массив формул сепарабельных компонент целевой функции. В формулах f следует указывать переменную x - это аргумент функции. В формуле допустимо использовать функции библиотеки ruby math.
opt_simplex Решение задачи линейного программирования симплекс-методом. Входные данные для работы программы вводятся следующим образом: { "traceEnabled" : Включена ли трассировка (false или true), "direction" : Направление оптимизации в кавычках ("min" или "max"), "mainFunction" : Коэффициенты при переменных в целевой функции в квадратных скобках через запятую (например, [1.0, 1.0, 1.0]) , "limitations" : { Номер ограничения, нумерация всегда должна идти с нуля, пишется только число в кавычках (например, "0") : { "numbers" : [Коэффициенты при переменных в ограничении, последнее число - правая часть ограничения (например, [1.0, 1.0, 1.0, 10.0])], "sign" : "Знак в ограничении ("<=", "=" или ">=")" }, ... } } } Программная реализация: Власов М.А.
opt_transport_task Решение траспортной задачи в матричной постановке (Т-задачи) специальным алгоритмом линейного программирования. Исходные данные задаются в формате JSON хэша с ключами: production - объёмы производства, consumption - объёмы потребления, cost - стоимость перевозки (строки - пункты производства, столбцы - пункты потребления), is_mup - использовать упорядочивание пар при поиске допустимого решения (если =1, то "Да"), is_trace - если равен 1, то выводить полную трассировочную печать, add_cost - потери от перепроизводств или от недопоставок. Работа выполнена при поддержке гранта РНФ 17-71-30014.
opt_vector_lattice Оптимизация методом неявного перебора по векторной решетке. Исходные данные - JSON с параметрами: "trace" - трассировка (1-да, 0- нет) , "kn" - флаг работы КН (1-работает, 0-нет), "kpia" - флаг работы КПИА (1-работает, 0-нет), "kpp" - флаг работы КПП (1-работает, 0-нет), "dir" - направление оптимизации (0-min, 1-max), "c"- вектор-строка коэффициентов целевой функции С, "h" - вектор-строка верхних ограничений переменных H, "asb" - двумерный массив, его строки должны содержать коэффициенты ограничений A, знаки ограничений (знак ограничения <= кодируется как 0, = как 1, >= как 2) и правые части ограничений В (по одному ограничению в строке).
pairwise_comparison Определение весов критериев или рангов альтернатив методом парных сравнений. На вход подается JSON в матрицей парных сравнений: { "matrix": [ [...],[...]...] }. На выходе формируются веса и определяется согласованность.
pareto_optimality Определение парето-оптимальных (эффективных) решений
tsp Решение задачи коммивояжёра (англ. Travelling salesman problem, сокращённо TSP) методом генетического программирования. Параметры: population_size - размер популяции, generations - число поколений, start - начальная вершина пути, end - конечная вершина пути, costs - матрица стоимостей перевозок (строки - источники, столбцы - приемники).
weighted_sum Взвешенная сумма. На вход подаются веса, направления улучшения критериев и значения критериев по всем альтернативам. На выходе вычисляются ранги альтернатив.

Основные доступные модели:

МодельОписание
BPR-model of transport network Модель описывает транспортную сеть. Функция затрат на проезд по дуге определяется классической BPR-функцией: travel_time( flow ) = free_flow_time * ( 1 + B * ( flow / capacity )^P ). На вход модели подается граф сети и набор корреспонденций. На выходе возвращается распределение потоков по дугам (равновесное состояние). Программная реализация модели: Аникин А.С. Исследование выполнено в рамках федеральной целевой программы «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2014 – 2020 годы», Соглашение № 14.604.21.0052 от 30.06.2014 г. с Минобрнауки. Уникальный идентификатор проекта RFMEFI60414X0052.
The model of choice based on the HPF Модель выбора на основе гибридной функции предпочтений. Модель позволяет определить ранги альтернатив на основе гибридной функции предпочтений. Исследование выполнено в рамках федеральной целевой программы «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2014 – 2020 годы», Соглашение № 14.604.21.0052 от 30.06.2014 г. с Минобрнауки. Уникальный идентификатор проекта RFMEFI60414X0052.
The Model of Pareto-Optimal Solutions Присваивает ранг 1 парето-оптимальным решениям и ранг 0 доминируемым
Weighted sum choice model Модель позволяет определить ранги альтернатив.