Упростите свой рабочий процесс: найдите miniwebtool.
Добавить
Домашняя страница > Математика > Продвинутые математические операции > Решатель Линейного Программирования

Решатель Линейного Программирования

Решайте задачи линейного программирования онлайн с помощью симплекс-метода. Поддерживает максимизацию или минимизацию целевой функции, смешанные ограничения ≤/≥/=, до 8 переменных решения, а для задач с 2 переменными отображает интерактивный график области допустимых решений с выделением каждой вершины и оптимума.

Решатель Линейного Программирования
Первая строка — целевая функция (Maximize или Minimize …). Каждая последующая строка — линейное ограничение. Используйте <=, >= или =. Сокращение: x, y >= 0 задает неотрицательность для нескольких переменных. До 8 переменных и 20 ограничений.

Embed Решатель Линейного Программирования Widget

О Решатель Линейного Программирования

Решатель линейного программирования — это онлайн-калькулятор, который находит максимум или минимум линейной целевой функции при соблюдении системы линейных неравенств или равенств. Он использует симплекс-метод (вариант Big-M), что позволяет свободно смешивать ограничения типа <=, >= и =, а для задач с 2 переменными он строит интерактивный график области допустимых решений с выделением каждой вершины и оптимума.

Что такое линейное программирование?

Задача линейного программирования (ЛП) ставит вопрос:

Максимизировать (или минимизировать): Z = c1 x1 + c2 x2 + … + cn xn при условии: a11 x1 + … + a1n xn (≤, ≥, или =) b1 a21 x1 + … + a2n xn (≤, ≥, или =) b2 … am1 x1 + … + amn xn (≤, ≥, или =) bm x1, x2, …, xn ≥ 0

Набор точек, удовлетворяющих каждому ограничению, называется областью допустимых решений и представляет собой выпуклый многогранник. Основная теорема линейного программирования гласит, что если ЛП имеет конечный оптимум, то он достигается в вершине (крайней точке) этого многогранника. Вот почему симплекс-метод, который переходит от вершины к вершине, так эффективен.

Как работает симплекс-метод

Начиная с допустимой вершины, симплекс-метод многократно улучшает целевую функцию, переходя к соседней вершине с лучшим значением. Механика процесса:

  1. Стандартная форма: перевод ЛП к виду max cTx при условии Ax = b, x ≥ 0. Для ограничений <= добавляются дополнительные (slack) переменные; для >= вычитаются избыточные (surplus) и добавляются искусственные с большим штрафом −M; для равенств добавляются искусственные переменные.
  2. Начальная таблица: базис состоит из дополнительных и искусственных переменных, что дает очевидную начальную вершину.
  3. Входящая переменная: выбирается небазисная переменная с наибольшей положительной оценкой \( c_j - z_j \). Если такой переменной нет, текущее решение оптимально.
  4. Выходящая переменная: для входящего столбца проводится тест минимального отношения — правая часть каждой строки делится на ее положительный элемент во входящем столбце, и выбирается строка с наименьшим отношением. Если положительных элементов нет, ЛП неограничена.
  5. Итерация (Pivot): использование исключения Гаусса, чтобы сделать входящий столбец единичным вектором с единицей в выходящей строке.
  6. Повторение до выполнения критерия остановки.

Если по завершении какая-либо искусственная переменная остается в базисе с положительным значением, исходная ЛП недопустима.

Графический метод (для 2 переменных)

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

Синтаксис ввода

Напишите целевую функцию в первой строке, затем по одному ограничению в строке. Именами переменных может быть любой идентификатор (x, y, x1, profit…). Операторы: <=, >= и =. Неотрицательность можно записать как x, y >= 0 для сокращения.

Maximize 3x + 5y x + y <= 10 2x + y <= 16 x + 3y <= 18 x, y >= 0

Пустые строки и комментарии, начинающиеся с #, игнорируются. Решатель принимает до 8 переменных решения и 20 ограничений.

Пример решения

Рассмотрим мебельную мастерскую, которая изготавливает столы и стулья. Каждый стол приносит \\$3 прибыли и требует 1 единицу древесины и 2 единицы труда. Каждый стул приносит \\$5 прибыли и требует 1 единицу древесины, 1 единицу труда и 3 единицы лака. Доступно: 10 ед. древесины, 16 ед. труда, 18 ед. лака. При x = столы и y = стулья, задача ЛП выглядит так:

Maximize Z = 3x + 5y x + y <= 10 (древесина) 2x + y <= 16 (труд) x + 3y <= 18 (лак) x, y >= 0

Область допустимых решений — пятиугольник. Оценка Z в каждой вершине:

Вершина (x, y)Z = 3x + 5yДопустимо?
(0, 0)0Да
(8, 0)24Да
(6, 4)38 ← оптимумДа
(0, 6)30Да

Таким образом, мастерской следует изготовить 6 столов и 4 стулья для получения максимальной прибыли в \\$38. Ограничения по дереву и труду являются связывающими (они равны своей правой части в оптимуме); лак имеет запас 0 (в данном случае также связывающее), что означает, что все три ресурса исчерпаны.

Общие проблемы и что обнаруживает решатель

СитуацияСимптомКак исправить
Неограниченная ЛП Решатель сообщает "Задача неограничена" Добавьте недостающую верхнюю границу. Целевая функция может расти бесконечно, потому что область допустимых решений бесконечна в направлении улучшения.
Недопустимая ЛП Решатель сообщает "Задача недопустима" Ограничения противоречат друг другу (например, x >= 10 при x <= 5). Пересмотрите каждую пару границ.
Альтернативные оптимумы Значок предупреждения; оптимальная вершина уникальна, но Z достигается вдоль всего ребра Происходит, когда вектор целевой функции параллелен связывающему ребру. Любая выпуклая комбинация двух вершин на этом ребре также является оптимальной.
Вырождение / зацикливание Симплекс итерирует без улучшения Z Редко встречается в учебных задачах; может быть решено правилом Бланда. Этот решатель ограничивает число итераций во избежание бесконечных циклов.

Области применения

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

  1. Введите вашу задачу ЛП в текстовое поле. Первая строка должна начинаться с Maximize или Minimize. Каждая последующая строка содержит одно ограничение.
  2. Используйте сокращение x, y >= 0, чтобы объявить неотрицательность для всех перечисленных переменных сразу.
  3. Нажмите Решить задачу ЛП. Решатель выдаст оптимальное значение Z, оптимальные значения каждой переменной решения, список связывающих ограничений, а для задач с 2 переменными — интерактивный график области допустимых решений.
  4. Наведите на вершину на графике, чтобы увидеть ее координаты и значение Z. Оптимум отмечен звездочкой.
  5. Изучите симплекс-таблицы, чтобы увидеть каждую итерацию и проследить, как метод улучшает Z. Входящий столбец выделен янтарным цветом, выходящая строка — красным.

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

Что такое задача линейного программирования?

Задача линейного программирования (ЛП) заключается в поиске максимума или минимума линейной целевой функции при наборе переменных решения, которые удовлетворяют системе линейных неравенств или равенств. Допустимое множество представляет собой выпуклый многогранник, и оптимум всегда достигается в одной из его вершин — этот ключевой факт и использует симплекс-метод.

Как работает симплекс-метод?

Симплекс-метод перемещается по вершинам допустимого многогранника. Каждый шаг (итерация) заменяет одну переменную в базисе на другую, переходя к соседней вершине со строго лучшим значением целевой функции. Алгоритм останавливается, когда итерация больше не может улучшить Z — текущая вершина тогда считается оптимальной. Инструмент использует вариант Big-M для работы со смешанными типами ограничений.

Что такое область допустимых решений?

Область допустимых решений — это набор всех значений переменных, удовлетворяющих всем ограничениям одновременно. Для 2 переменных это 2D выпуклый многоугольник; для n переменных — n-мерный многогранник. Пустой многогранник означает, что задача недопустима; многогранник, бесконечно уходящий в сторону улучшения, означает, что задача неограничена.

Что означает "неограниченная" в линейном программировании?

Задача ЛП является неограниченной, когда область допустимых решений тянется в бесконечность в том направлении, где целевая функция продолжает улучшаться. Например, Maximize x при условии x ≥ 0 не имеет предела. В реальности такие результаты обычно указывают на отсутствие важного ограничения, например, лимита ресурсов.

Что означает "альтернативный оптимум"?

Альтернативные оптимумы возникают, когда несколько точек дают одно и то же лучшее значение целевой функции. Геометрически это значит, что вектор цели параллелен активной стороне многоугольника, поэтому любая точка на этой стороне оптимальна. Решатель сообщает об этом, если небазисная переменная имеет нулевую оценку в конце расчета.

Сколько переменных и ограничений принимает решатель?

До 8 переменных решения и 20 ограничений. Интерактивный график строится только для задач с 2 переменными; для 3 и более переменных вы по-прежнему получаете полное числовое решение, пошаговые таблицы и отчет об активности ограничений.

Дополнительная литература

Ссылайтесь на этот контент, страницу или инструмент так:

"Решатель Линейного Программирования" на сайте https://ru.miniWebtool.com/решатель-линейного-программирования/ от MiniWebtool, https://MiniWebtool.com/

от команды miniwebtool. Обновлено: 21 апр. 2026 г.

Вы также можете попробовать наш AI Решатель Математических Задач GPT, чтобы решить ваши математические проблемы с помощью вопросов и ответов на естественном языке.

Другие сопутствующие инструменты:

Продвинутые математические операции:

Избранные инструменты:

Проверка Гамильтонова ПутиРешатель задачи коммивояжёра (TSP)Решатель Линейного ПрограммированияКалькулятор формулы включений-исключенийРешатель Рекуррентных СоотношенийКалькулятор матрицы смежностиКалькулятор топологической сортировкиКалькулятор раскраски графовСимулятор Логических ВентилейРешатель Карты Карно (K-Map)Упроститель Булевой АлгебрыКалькулятор Функции РазбиенияКалькулятор Цифрового КорняПроверка числа ФибоначчиКалькулятор египетских дробейКалькулятор функции МёбиусаВерификатор гипотезы ГольдбахаПроверка Простого Числа МерсеннаПоиск Простых БлизнецовПроверка Дружественных ЧиселПроверка Совершенных ЧиселКалькулятор Модульного Возведения в СтепеньКалькулятор перестановок с повторениямиКалькулятор размера эффектаКалькулятор относительного рискаКалькулятор Отношения ШансовКалькулятор таблицы сопряжённостиКалькулятор Точного Теста ФишераКалькулятор ранговой корреляции СпирменаКалькулятор бета-распределенияКалькулятор распределения ВейбуллаКалькулятор Экспоненциального РаспределенияКалькулятор Геометрического РаспределенияКалькулятор отрицательного биномиального распределенияКалькулятор Гипергеометрического РаспределенияКалькулятор F-теста и F-распределенияКалькулятор теоремы БайесаКалькулятор Характеристического ПолиномаКалькулятор степени матрицыКалькулятор разложения ХолецкогоКалькулятор QR-разложенияКалькулятор диагонализации матрицыКалькулятор правила КрамераКалькулятор Столбцового ПространстваКалькулятор Нулевого ПространстваКалькулятор угла между векторамиКалькулятор Единичного ВектораКалькулятор модуля вектораКалькулятор векторного произведенияКалькулятор Скалярного ПроизведенияКалькулятор Умножения МатрицКалькулятор Обратной МатрицыКалькулятор RREF (Ступенчатая форма)Калькулятор метода НьютонаКалькулятор Матрицы ЯкобиКалькулятор Поверхностного ИнтегралаКалькулятор Криволинейного ИнтегралаКалькулятор ротораКалькулятор дивергенцииКалькулятор градиента многомерныйКалькулятор Оптимизации ИсчислениеКалькулятор Связанных СкоростейКалькулятор Мгновенной Скорости ИзмененияКалькулятор средней скорости измененияКалькулятор суммы бесконечных рядовКалькулятор Теста Сходимости РядовКалькулятор степенных рядовКалькулятор ряда МаклоренаКалькулятор правила ЛопиталяКалькулятор Несобственного ИнтегралаКалькулятор правила СимпсонаКалькулятор метода трапецийКалькулятор суммы РиманаПостроитель параметрических кривыхКалькулятор поверхности вращенияКалькулятор объёма тела вращенияКалькулятор Расстояния: Координатная ГеометрияКалькулятор формулы ГеронаКалькулятор касательной к окружностиКалькулятор Биссектрисы УглаКалькулятор Вписанной ОкружностиКалькулятор Описанной ОкружностиКалькулятор Расстояния по Дуге Большого КругаКалькулятор Расстояния 3DКалькулятор тораКалькулятор усечённого конусаКалькулятор Площади Неправильного МногоугольникаКалькулятор правильного многоугольникаОпределитель конического сеченияКалькулятор гиперболыКалькулятор параболыКалькулятор Разложения Бинома НьютонаГенератор Треугольника ПаскаляКалькулятор произведений (Пи-нотация)Калькулятор сигма нотации (суммирование)Калькулятор Теоремы о Рациональных КорняхКалькулятор правила знаков ДекартаКалькулятор Параллельных и Перпендикулярных ПрямыхКалькулятор Уравнения ПрямойКонвертер Стандартной Формы в Форму Наклон-ПересечениеКалькулятор Уравнения Прямой по Точке и НаклонуРешатель Системы Нелинейных УравненийРешение рациональных уравненийРешатель буквенных уравненийРешатель тригонометрических уравненийРешение показательных уравненийРешатель логарифмических уравненийКалькулятор уравнения четвертой степениРешатель кубического уравненияКалькулятор ОценкиКонвертер Числа в ДробьГенератор Счёта с ПропускомКалькулятор цены за единицуКалькулятор функций потолка и полаКалькулятор абсолютного значенияПоиск Числовых ЗакономерностейГенератор таблицы разрядных значенийКалькулятор порядка операций PEMDASКалькулятор сложения и вычитания столбикомКалькулятор Умножения в СтолбикГенератор таблицы умножения🎮 Конвертер игровой валюты🎲 Калькулятор вероятности дропа🎰 Калькулятор гарантии гача⚔️ Калькулятор DPS🎮 Конвертер чувствительности игр❄️ Калькулятор Снежного Дня🚚 Калькулятор стоимости переезда🔍 Проверка на плагиат📷 OCR / Текст из изображения📈 Создатель линейных графиков🥧 Создатель Круговой Диаграммы📊 Создатель столбчатых диаграмм🔊 Генератор тонов🖱️ Счётчик кликовОнлайн Блокнот⬛ Калькулятор соотношения сторон🌍 Калькулятор углеродного следа👙 Калькулятор размера бюстгальтераКалькулятор Размера ШинКалькулятор стоимости топлива💧 Калькулятор точки росы🌡️ Калькулятор индекса жары🌬️ Калькулятор ветрового охлаждения⏰ Онлайн будильник⏰ Калькулятор табеля рабочего времени📅 Калькулятор разницы дат🕐 Конвертер военного времени⏱️ Калькулятор часов⏱️ Онлайн секундомер⏱️ Таймер обратного отсчёта🌐 Конвертер часовых поясовКалькулятор ковролинаКалькулятор подпорной стеныКалькулятор мощности HVACКалькулятор утепленияКалькулятор тротуарной плиткиКалькулятор арматурыКалькулятор пиломатериаловКалькулятор площадиКалькулятор перекрёстного умноженияКалькулятор сводки пяти чиселКалькулятор перцентиляКалькулятор нормального распределенияКалькулятор p-значенияКалькулятор пропорцийКалькулятор выделения полного квадратаКалькулятор округленияКалькулятор деления столбикомНаучный КалькуляторТаймер Помодоро для УчёбыКалькулятор значащих цифрКалькулятор Оценок за ТестКалькулятор Средневзвешенных ОценокКалькулятор Итоговой ОценкиКалькулятор ОценокКалькулятор резонансной частотыКалькулятор импедансаКалькулятор децибел (дБ)Калькулятор коэффициента мощностиКалькулятор постоянной времени RC-цепиКалькулятор трансформатораКалькулятор сечения проводаКалькулятор таймера 555Калькулятор конденсатораКалькулятор параллельного сопротивленияКалькулятор Делителя НапряженияКалькулятор Резистора для СветодиодаКонвертер Моль/Грамм/ЧастицыКалькулятор титрованияКалькулятор Температуры КипенияКалькулятор эмпирической формулыКалькулятор Процентного ВыходаКалькулятор стехиометрииБалансировка химических уравненийКалькулятор разбавленияКалькулятор лошадиных силКалькулятор крутящего моментаКалькулятор свободного паденияКалькулятор идеального газаКалькулятор давленияКалькулятор ПлотностиКалькулятор Работы и МощностиКалькулятор Потенциальной ЭнергииКалькулятор Кинетической ЭнергииКалькулятор движения снарядаКалькулятор импульсаКалькулятор СкоростиКалькулятор ускоренияКалькулятор СилыКалькулятор ROI инфлюенсераКалькулятор ROASКалькулятор CTRПроверка имени пользователя в социальных сетяхОптимизатор времени публикации в социальных сетяхКалькулятор ROI социальных сетейКалькулятор стоимости рекламы в FacebookКалькулятор Монетизации YouTube ShortsКалькулятор доходов TwitchКалькулятор времени просмотра YouTubeКонвертер Временных Меток Twitter/XСтатистика канала YouTubeКалькулятор заработка в TikTokРуководство по размерам изображений для соцсетейГенератор шрифтов для InstagramСчётчик Символов Twitter/XСлучайный выбор комментариев YouTubeИзвлечение тегов YouTubeЗагрузчик миниатюр YouTubeКалькулятор доходов YouTubeГенератор случайных персонажей RPG