Онлайн калькулятор для составления и решения двойственной задачи
Онлайн калькулятор
Данные исходной задачи
Руководство по использованию калькулятора
Задачи, решаемые с помощью данного калькулятора
Калькулятор предназначен для составления и решения двойственной задачи линейного программирования. Пользователь вводит данные исходной общей задачи линейного программирования, и на ее основе получает двойственную задачу с подробным объяснением всех шагов ее составления. Далее можно получить решения как исходной задачи, так и двойственной, с подробными объяснениями.
Алгоритм построения двойственной задачи разобран на странице «Правила составления двойственных задач». Методы решения задач описываются в разделе «Краткое описание симплексного метода»
Общая задача линейного программирования
Общая задача линейного программирования формулируется следующим образом.
Найти максимум (минимум) линейной функции n переменных :
(1)
при ограничениях вида
(2)
(3) .
Ввод исходных данных
Исходными данными являются:
число переменных ;
число уравнений и (или) неравенств системы ограничений (2);
коэффициенты линейной формы целевой функции (1);
тип экстремума целевой функции (максимум или минимум);
коэффициенты и свободные члены системы ограничений (2);
тип ограничения (′≤′, ′≥′ или ′=′);
наличие ограничений неотрицательности переменных (xj ≥ 0 или xj любое);
метод расчета начального опорного плана (искусственного базиса, двухшаговый или базовый);
дроби – обыкновенные (например 5/3) или десятичные (например 1,666667).
Существует два способа ввода данных:
1. В виде единой таблицы.
2. Ввод каждого значения по отдельности.
Ввод данных единой таблицей
В этом способе все данные вводятся в одно текстовое поле. Разделителем строк служит перевод новой строки; разделителем столбцов – любая последовательность символов, отличных от перевода новой строки, цифры, буквы, точки, запятой, знаков '+', '-', '=', '<', '>'.
Первая строка таблицы содержит значения коэффициентов целевой функции и тип экстремума: 'min' или 'max'.
В последующих n строках вводят коэффициенты системы ограничений, вид ограничения ('≤=', '≥=' или '=') и значения свободных членов .
В последней строке вводят условия неотрицательности переменных:
'+' – если переменная неотрицательная;
'+-' – если переменная может иметь любое значение.
Ниже имеются четыре кнопки со следующими функциями.
Применить – производится проверка правильности заполнения ячеек и изменение данных, расположенных ниже таблицы, которые можно затем редактировать по отдельности.
Составить двойственную задачу – проверка правильности заполнения ячеек и составление двойственной задачи с объяснениями.
Копировать – данные копируются в буфер обмена для последующего сохранения в электронной таблице.
Удалить все – все данные удаляются. После этого можно вставить новые данные из электронной таблицы через буфер обмена.
Ввод данных по отдельности
Каждое значение можно вводить по отдельности. Для этого нужно ввести число переменных и число ограничений, и нажать кнопку Применить.
Далее можно изменить любое значение в последующих полях ввода.
При нажатии на кнопку Составить двойственную задачу производится проверка правильности заполнения ячеек и составление двойственной задачи с объяснениями.
Виды дробей
Числовые величины можно вводить в виде обыкновенных (например 7/4), либо в виде десятичных дробей (например 1,75).
Чтобы оперировать точными значениями без округлений, нужно в строке Дроби выбрать 'Обыкновенные'; и водить целые числа без десятичной запятой (или точки). Например: '3', '0', '-12', '5/6'.
Если при вводе данных встретится запятая или точка, то все числовые величины будут округляться, и отображаться в виде десятичных дробей.
Для получения приближенного результата, нужно в строке Дроби выбрать 'Десятичные'.
Ввод числовых данных
Ввод натуральных чисел выполняется, как обычно, в виде последовательности цифр 0 – 9.
Перед отрицательными числами ставится знак минус без пробела.
Обыкновенные дроби вводят с использованием косой черты без пробелов, которая отделяет числитель от знаменателя. Например: 5/2.
Десятичные дроби, для расчетов с округлением, вводят, используя в качестве разделителя запятую или точку. Например: 0,1254.
Сохранение данных расчета
После успешного выполнения расчета происходит замена адреса страницы, в который включаются исходные данные. Для сохранения данных, достаточно сохранить страницу в браузере. Тогда, при повторном обращении к ней, автоматически загружаются данные предыдущего расчета, и производится сам расчет.
Сохранять данные также можно в электронной таблице, копируя их из текстового поля в буфер обмена.
Автор: Олег Одинцов. Опубликовано: