Русский | English

Welcome to Web Services for Decision Support Systems!

On this portal there are a lot of methods to support decision-making and operations research including methods of multiple-criteria decision analysis and optimization methods. All methods are available for free through RESTful API after registrations.

Source code on github

Download RESTful API manual Example

Main available methods:

MethodDescription
ant_colony The solution to the problem of finding the shortest path in a graph by the ant colony method. The input data are represented as: { "from_vertex" : "<the name of the initial vertex>", "to_vertex" : "<the name of the destination of the final vertex>", "graph":{ "name initial vertices": { "name input vertices 1": < arc length >, "the name of the incoming vertex 2": <the length of the arc> }, ..... } }
bellman_ford Realization of the Bellman-Ford algorithm. The Bellman-Ford algorithm is designed to solve the problem of finding the shortest path on a graph. The algorithm finds the shortest distance for a given weighted graph from the selected source vertex to all other vertices of the graph. Its distinctive feature is its applicability to graphs with arbitrary including negative weights. The input data contain: an array of edges "graph" each of which consists of the vertex "from", the vertex "to" and the weight of the edge; the number of the initial vertex “vertex” for which the search is performed; the variable “isDirect” which can take the values ​​1 and 0, depending on whether the graph is oriented or not. Software implementation: N. Khrapov.
eulerian_path Search for the Eulerian path in an undirected graph. It’s necessary to specify an array of edges. Optional parameter: the number of the initial vertex. {"Graf": [[1,2], [2,3]], "initial": 1}
fuzzy_preferences Ranking of alternatives in fuzzy preferences. The method was developed with the financial support of the Russian Foundation for Basic Research (Project No. 16-01-00571-a).
GFP The method identifies the preferences of a decision maker. It consists in splitting the space of criteria into domains and determining the ratio of preferences between them using qualitative methods of decision-making theory. If several non-dominant alternatives fall into one area, it is recommended to use quantitative methods to compare alternatives within a given area. The function by which the final evaluation of the alternatives is calculated is called the hybrid preference function. It can be used in selection, ranking and optimization tasks.
graph_connectivity Determination of the connectedness of an undirected graph. The input data is given in the form of vertices and an array of edges: {"graf": {"1": ["2", "4", "6"], "4": []}}
hamiltonian_path Search for the Hamiltonian path in a directed graph. The initial data is given in the form of vertices and an array of arcs incident to them: {"graf": {"1": ["2", "4", "6"], "4": []}, "initial": "1 "}. An optional parameter can be specified - the initial vertex initial.
kernighan_lin Kernighan–Lin algorithm is a heuristic algorithm for finding partitions of graphs.
metis Splitting the graph into subgraphs. Uses the library: http://glaros.dtc.umn.edu/gkhome/metis/metis/overview. The source data: "has_vertices_size" = 1 if the size of the vertices is given, "number_of_vertices_weights" is the number of vertex weights, "has_edges_weights" = 1, if edge weights are specified. "graph" - an array of vertices for each vertex in the array can be specified: the size of the vertex, the weight of the vertex, adjacent vertices (numbered from 1) and the weights of the edges. "nparts" - the number of parts the graph is to be divided into.
min_fal Minimization of boolean functions. The input is given by the representing number: {"output": "11010110"}
opt_dynamic_prog Solution to resource allocation tasks using dynamic programming. Parameters of input JSON: a - coefficients in the constraint, max_res - total value of the allocated resource, f - array of formulas of separable components of the objective function. In the formulas f it is necessary to specify the variable x - this is the argument of the function. It is permissible to use the functions of the ruby ​​math library in the formula.
opt_simplex The solution to a linear programming problem by the simplex method. JSON input parameters: mainFunction - objective function coefficients (optimization direction to maximum), numbers - coefficients in constraints and right-hand side of constraints.
opt_transport_task Solution to the transport problem in the matrix formulation (T-problem) by a special algorithm of linear programming. The initial data are specified in the JSON format of the hash with the keys: production - production volumes, consumption - consumption volumes, cost - transportation cost (strings - production points, columns - consumption points), is_mup - use the ordering of pairs when searching for an acceptable solution (if = 1, Then "Yes"), is_trace - if it equals 1, print a full trace, add_cost - losses from overproduction or from incomplete delivery.
opt_vector_lattice It is an optimization by the method of an implicit enumeration on a vector lattice. The initial data is JSON with the parameters: "trace" – tracing (1-yes, 0-no), "kn" - flag of work KN (1-works, 0-no), "kpia" - flag of KPIIA (1-works , 0-no), "kpp" - the flag of work of the checkpoint (1-works, 0-no), "dir" - the direction of optimization (0-min, 1-max), "c" - the vector string of the coefficients of the objective function C , "H" is a vector string of the upper limits of the variables H, "asb" is a two-dimensional array, its strings have to contain the constraint signs (the restriction sign <= coded as 0, = as 1,> = as 2) and right Parts of constraints B (one restriction per string).
pairwise_comparison Determination of the weights of criteria or the ranks of alternatives by the method of paired comparisons. The input is JSON in the matrix of paired comparisons: {"matrix": [[...], [...] ...]}. Output weights are formed and exit consistency is determined.
pareto_optimality Determination of Pareto-optimal (effective) solutions
tsp The solution to the traveling salesman problem (The abbreviation of Traveling salesman problem is TSP) is by using the genetic programming method. Parameters: population_size is the size of population, generations are the number of generations, start is the initial vertex of the path, end is the final vertex of the path, costs are the cost of the transportation matrix (lines are sources, columns are receivers).
weighted_sum Weighted sum. The input weights, directions of criteria improvement and criteria values for all alternatives are given as input. The ranks of the alternatives are calculated as output.

Main available models:

ModelDescription
BPR-model of transport network The model describes the transport network. The cost function for traveling along an arc is determined by the classical BPR function: travel_time (flow) = free_flow_time * (1 + B * (flow / capacity) ^ P). The input of the model serves a network graph and a set of correspondences. The output returns the distribution of the flows along the arcs (the equilibrium state). Software implementation of the model: Anikin AS The research was carried out within the framework of the federal target program "Research and development in priority areas of development of the scientific and technological complex of Russia for 2014-2020", Agreement No. 14.604.21.0052 dated June 30, 2014 with the Ministry of Education and Science. The unique identifier of the project is RFMEFI60414X0052.
The model of choice based on the HPF The model of choice based on the hybrid preference function (HPF). The model allows one to determine the ranks of alternatives based on a hybrid preference function. The research was carried out within the framework of the federal target program "Research and development on priority areas of development of the scientific - technological complex of Russia for 2014-2020", Agreement No. 14.604.21.0052 dated June 30, 2014 with the Ministry of Education and Science. The unique identifier of the project is RFMEFI60414X0052.
The Model of Pareto-Optimal Solutions Assigns rank 1 to pareto-optimal solutions and rank 0 to dominant ones
Weighted sum choice model The model allows one to determine the ranks of alternatives.