МАТ-0129метод Данцига 1947пошаговое решениеревизия 2026-05-08

Симплекс-метод онлайн (лаборатория)

Пошаговое решение задач линейного программирования с симплекс-таблицами на каждой итерации. До 5 переменных и произвольного числа ограничений.

⏱ ~30 сек · max c·x при A·x ≤ b · 5 переменных
Решение · МАТ-0129|метод Данцига
calcal.ru / simpleks-metod-onlajn-laboratoriya
Загрузка…
max c·x
целевая функция
A·x ≤ b
линейные огранич.
x ≥ 0
неотрицательность
Данциг 1947
автор метода

Теория ЛП

Линейное программирование (LP) — оптимизация линейной функции при линейных ограничениях. Допустимое множество — выпуклый многогранник в n-мерном пространстве. Теорема: если оптимум существует, он достигается в одной из вершин многогранника. Симплекс-метод систематически перебирает вершины, переходя по рёбрам в направлении улучшения.

Алгоритм

На каждой итерации: 1) Найти столбец с самым отрицательным коэффициентом в целевой строке. 2) Найти строку с минимальным положительным отношением правой части к ведущему элементу. 3) Применить элементарные преобразования к таблице. 4) Повторять, пока в целевой строке есть отрицательные коэффициенты.

Симплекс-метод — пожалуй, наиболее экономически значимый алгоритм всех времён. От военного снабжения 1940-х до глобальных цепочек поставок XXI века он остаётся основой решения миллионов задач оптимизации ежедневно.George Dantzig, Linear Programming and Extensions, 1963

Где применяется

  • Транспортные задачи и логистика.
  • Производственное планирование.
  • Финансовая оптимизация (диверсификация портфеля).
  • Сети и распределение ресурсов.
  • Расписания и составление меню.
ИСТОЧНИКИ
  1. Linear Programming and Extensions. Dantzig G.B.. Princeton University Press. 1963.
  2. Introduction to Linear Optimization. Bertsimas D., Tsitsiklis J.. Athena Scientific. 1997.
  3. Линейное программирование. Юдин Д.Б., Гольштейн Е.Г.. Наука. 1969 (классика).
  4. CS 261 / Stanford Optimization. Stephen Boyd. web.stanford.edu. 2024.

Лаборатория для образовательных целей. Для производственных задач (тысячи переменных) — профессиональные солверы CPLEX, Gurobi, GLPK или коммерческие модули SAP Production Optimizer.

РАЗДЕЛ 04 · НЮАНСЫ

Что нужно понимать

01
Канонический вид

Любая ЗЛП приводится к: max c·x при A·x ≤ b, x ≥ 0. Слабые переменные превращают неравенства в равенства. Двойственная задача даётся для min.

02
Симплекс-таблица

Каждая строка — ограничение, каждый столбец — переменная (с слабыми). Последняя строка — целевая. Базисные переменные имеют единичные столбцы.

03
Правило Данцига

Вход в базис — переменная с самым отрицательным коэффициентом в целевой строке. Выход — переменная с минимальным положительным отношением b/a в выбранном столбце.

04
Сложность

В худшем случае O(2ⁿ), на практике — почти линейно от размерности. Для больших задач (тысячи переменных) — Internal Point Method (Karmarkar 1984), полиномиальный.

РАЗДЕЛ 05 · ПРАКТИКА

Три шага к решению

01ПОСТАНОВКА

Целевая и ограничения

Запишите функцию F = c₁x₁ + c₂x₂ + ... в стандартной форме. Все ограничения преобразуйте к ≤ (умножьте на −1 при необходимости). Условие x ≥ 0 обязательно.

02РЕШЕНИЕ

Итерации до стопа

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

03ПРОВЕРКА

Графически 2D

При двух переменных решение можно проверить графически: построить ОДЗ как пересечение полуплоскостей, найти вершины, подставить в F, выбрать максимум.

ЧАСТЫЕ ВОПРОСЫ

Часто задаваемые вопросы

Симплекс-метод — алгоритм решения задач линейного программирования (ЗЛП), разработанный Джорджем Данцигом в 1947 году. Идея: оптимум линейной функции на многограннике (выпуклой области, ограниченной линейными неравенствами) всегда находится в одной из вершин. Алгоритм переходит от вершины к вершине, выбирая каждый раз направление максимального улучшения целевой функции, пока не достигнет оптимальной вершины. На практике сходится за O(2m+n) шагов в худшем случае, но на типовых задачах — почти линейно от числа переменных.
Стандартный вид, к которому приводится любая задача ЛП: maximize c·x subject to A·x ≤ b, x ≥ 0. Преобразования: 1) Цель min → max через смену знака. 2) Неравенство ≥ → ≤ через умножение на −1. 3) Равенство ≡ → пара ≤ и ≥. 4) Свободная переменная x → x⁺ − x⁻ (обе ≥ 0). 5) Введение слабых переменных для превращения ≤ в равенства: a·x + s = b, s ≥ 0. После этого таблица составляется из коэффициентов A, единичной матрицы при слабых, столбца b и строки −c в качестве целевой.
Каждая итерация — один обмен переменных в базисе. Выбираем входящую переменную: с самым отрицательным коэффициентом в целевой строке. Выбираем выходящую: с минимальным положительным отношением b/a в выбранном столбце (правило Блэнда против циклов). Делим выбранную строку на ведущий элемент (a_pivot = 1). Вычитаем кратные этой строки из других, чтобы в столбце все стали 0 кроме ведущей единицы. Повторяем, пока в целевой строке остаются отрицательные коэффициенты. На выходе — оптимум: значения базисных x в столбце b, F в правом нижнем углу.
Два случая. 1) Несовместные ограничения (нет точек в ОДЗ): обнаруживается в начальной фазе через искусственный базис, где остаётся ненулевая искусственная переменная. Решение: проверьте, что ограничения совместимы, нет противоречий типа x ≤ 5 и x ≥ 7. 2) Целевая функция неограничена сверху (для max): на итерации не находится конечного выходящего: все коэффициенты в выбранном столбце ≤ 0. Это значит, что значение можно увеличивать бесконечно. Решение: проверьте задачу — обычно недостаёт ограничения сверху на ресурс или производство.
Огромный спектр задач оптимизации с линейными ограничениями: 1) Транспортная задача — оптимальная развозка из M складов в N магазинов. 2) Задача о рационе — минимальная стоимость рациона с заданными питательными веществами (классика nutrition science). 3) Производственное планирование — какие продукты и сколько выпускать при ограниченных ресурсах. 4) Финансовая оптимизация — диверсификация портфеля Марковица в линейной упрощённой постановке. 5) Logistics — выбор маршрутов, складов. 6) Сети — распределение трафика, балансировка нагрузки. Все современные ERP-системы (SAP, 1С, Oracle) внутри используют LP-солверы для оптимизации цепи поставок.
Лиана Арифметова
АВТОРverifiedред. calcal.ru

Лиана Арифметова

Создатель и главный редактор

Миссия: демократизировать сложные расчёты. Превратить страх перед числами в ясность и контроль. Девиз: «Любая повторяющаяся задача заслуживает своего калькулятора».

Mathematical Engineering · МФТИ · редактирует каталог с 2012 года

Был ли этот калькулятор полезен?

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Инструмент справочный — не заменяет эксперта

Только для информационных целей. Все расчёты, результаты и данные, предоставляемые инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.

Точность результатов. Калькулятор основан на общепринятых формулах и методиках, однако фактические результаты могут отличаться в зависимости от индивидуальных условий, исходных данных и применяемых стандартов. Мы не гарантируем полноту, точность или актуальность приведённых расчётов.

Профессиональные решения — медицинские, финансовые, инженерные — должны приниматься только после консультации с квалифицированным специалистом. Не используйте автоматический расчёт как единственное основание для важных решений.

Ограничение ответственности. Авторы и разработчики сервиса не несут ответственности за прямой или косвенный ущерб, возникший из-за использования данных расчётов. Пользователь принимает на себя всю ответственность за интерпретацию результатов.

СМЕЖНЫЕ ИНСТРУМЕНТЫ

Похожие калькуляторы

15

Калькулятор оптимизации: симплекс, рюкзак, генетика

Решение задач оптимизации: линейное программирование (симплекс-метод), задача о рюкзаке и генетические алгоритмы. Поиск минимума/максимума.

/optimization-calculator

Калькулятор тригонометрии

Вычисление sin, cos, tan, cot, sec, csc. Решение треугольников, радианы/градусы, тригонометрические уравнения.

/trigonometry-calculator

Калькулятор дробей (смешанные и неправильные)

Конвертер дробей онлайн. Перевод смешанных чисел в неправильные дроби и наоборот с подробным решением.

/fraction-calculator

Калькулятор НОД и НОК

Быстрый расчет НОД и НОК для любых чисел. Разложение на простые множители (факторизация) онлайн.

/gcd-lcm-calculator

Калькулятор матриц

Вычисление определителя, обратной матрицы, ранга и собственных значений. Удобный интерфейс с решением.

/matrix-calculator

Калькулятор комбинаторики

Перестановки P(n), сочетания C(n,k), размещения A(n,k) и вариации с повторениями. Факториал, биномиальные коэффициенты.

/combinatorics-calculator

Калькулятор комплексных чисел

Сложение, вычитание, умножение, деление, модуль, аргумент, степень, корень комплексных чисел. Визуализация на плоскости.

/complex-number-calculator

Калькулятор производных и интегралов

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

/derivative-integral-calculator

Калькулятор чисел Фибоначчи

Вычислите n-е число Фибоначчи, проверьте принадлежность числа ряду, найдите золотое сечение. Формула Бине.

/fibonacci-calculator

Калькулятор золотого сечения

Пропорции золотого сечения (phi = 1.618). Для дизайна, архитектуры, фотографии. Прямоугольник и спираль.

/golden-ratio-calculator

Калькулятор сумм рядов

Арифметическая и геометрическая прогрессии, степенные ряды, ряды Тейлора. N-й член, сходимость.

/series-sum-calculator

Калькулятор Монте-Карло симуляции: оценка рисков

Прогнозирование стоимости активов и оценка рисков методом Монте-Карло. Расчет распределения вероятностей, VaR и волатильности.

/monte-carlo-simulation

Калькулятор процентов

Посчитать проценты от числа, прибавить или вычесть процент, найти разницу. Удобный онлайн калькулятор с формулами.

/percentage-calculator

Калькулятор научной нотации

Конвертер чисел в научную (экспоненциальную) и инженерную нотацию. Перевод стандартного вида числа онлайн.

/scientific-notation-calculator

Калькулятор интерполяции (Лагранж, сплайн)

Интерполяция функции онлайн: линейная, полином Лагранжа, кубический сплайн. Построение графика по точкам.

/interpolation-calculator