06/30/2025
Симплекс-метод
🏥В клинике пять кабинетов и пять врачей принимают пациентов с 9:00 до 14:00, перерыв на час в 12. Врачи приходят, когда есть пациенты. Некоторым врачам нужны аппараты в определенных кабинетах, но не всегда.
Пациенты записываются , но приходят как попало, к середине дня расписание плывёт.
🧮Если же врачей, кабинетов, аппаратов, пациентов десятки или сотни, то вручную распланировать работу невозможно.
💁Те же проблемы возникают при планировании клинических исследований, лабораторных, в работе любой школы или компании.
Это - задача линейного программирования.
-------
Задачу решали и решают разными способами.
Один из главнейших сейчас - симплекс-метод.
🕵♂Джордж Данциг (на фото слева) в 1947 году для ВВС США придумал, как оптимально распределять самолёты, грузы и экипажи по маршрутам и задачам. В его случае переменных были тысячи. Данциг отличился решив непосильные задачи про т-тест Стьюдента и когда был студентом и был, по всей видимости, гением.
👨🏻💼Независимо и раньше , в 1939 году Леонид Канторович (на фото справа) в СССР сформулировал линейные модели для оптимального распределения ресурсов в экономике и использовал метод лагранжа - вводил дополнительные переменные, чтобы связать разные ограничения в единое уравнение.
Его подход тоже используется как часть симплекс-метода.
Его книги цензурировали и ругали - вмешиваться в плановую экономику своей математикой - не марксистки!
Тем не менее Канторовича наградили нобелевкой в 1975.
-----
⬆️Пример
max z = x + y (максимизировать сумму x и y)
при условиях
2x + y ≤ 8
x + 3y ≤ 9
x, y ≥ 0
Симплекс-метод записывает матрицу из всех коэффициентов и пошагово её преобразует, доходя до "лучшего" варианта и выдавая ответ:
2 1 1 0 8
1 3 9 0 1
1 1 0 0 0
->
1 0 0.6 –0.2 3
0 1 –0.2 0.4 2
0 0 0.4 0.2 5
Отсюда ответ: максимум x+y=5, оптимальные x = 3, y = 2.
------
🙂Приколы симплекс-метода
1. Дантциг, в отличие от других авторов похожих алгоритмов, догадался, что самый быстрый способ - работать с векторами-колонками этой матрицы, которые живут в своём пространстве. Метод постоянно меняет базис этого пространства и ищет лучший вектор, прямо указывающ