Методическое решение контрольной работы по математическому программированию: от теории к практике и экономической интерпретации

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

Введение: Математическое программирование как инструмент оптимизации

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

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

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

Теоретические основы и построение математических моделей линейного программирования

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

Сущность математического и линейного программирования

Математическое программирование – это обширный раздел прикладной математики, посвященный разработке теории и численных методов для решения задач нахождения экстремума (максимума или минимума) некоторой функции при наличии ограничений на область изменения ее переменных. Его главная цель – предложить формализованные подходы для выбора наилучшего варианта действий из множества допустимых.

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

Области применения линейного программирования в экономике поразительно широки:

  • Планирование производства: Определение оптимального объема выпуска продукции для максимизации прибыли или минимизации издержек при заданных ограничениях на сырье, рабочую силу, оборудование.
  • Логистика и транспорт: Оптимизация маршрутов доставки, распределение грузов между складами и потребителями для сокращения транспортных расходов и времени.
  • Управление запасами: Минимизация затрат на хранение и предотвращение дефицита путем определения оптимального уровня запасов.
  • Финансовое планирование: Формирование инвестиционных портфелей с целью максимизации доходности при заданном уровне риска или минимизации риска при желаемой доходности.
  • Распределение ресурсов: Эффективное использование ограниченных ресурсов (земля, капитал, труд) в различных отраслях экономики.

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

Этапы экономического моделирования

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

  1. Описание экономической задачи: Детальное изучение реальной проблемы, выявление всех существенных факторов, условий, ограничений и целей, которые необходимо учесть. На этом этапе формулируется словесное описание задачи.
  2. Построение математической модели: Перевод словесного описания в формальный математический язык. Это включает выбор переменных, составление системы ограничений и формулировку целевой функции. Данный этап требует глубокого понимания как экономической сущности проблемы, так и математического аппарата.
  3. Решение и анализ решения: Выбор адекватного метода (графический, симплекс-метод, метод потенциалов и т.д.) и нахождение оптимального значения целевой функции и соответствующих значений переменных. После получения решения проводится его математический анализ.
  4. Экономическая интерпретация решения: Перевод математических результатов обратно в экономические категории. Объяснение, что означают полученные значения переменных, целевой функции и, что особенно важно, двойственных оценок, для реальной экономической ситуации.
  5. Внедрение и контроль: Применение полученного оптимального плана на практике, мониторинг его эффективности и, при необходимости, корректировка модели в случае изменения внешних условий.

Каждый из этих этапов критичен, и пренебрежение любым из них может привести к некорректным или неэффективным решениям.

Структура математической модели задачи линейного программирования

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

  1. Переменные задачи (x1, x2, …, xn): Это количественные характеристики экономического процесса, значения которых требуется определить для достижения поставленной цели. Они должны полностью описывать процесс и быть измеряемыми. Например, это могут быть объемы производства различных видов продукции, количество перевозимого груза по определенным маршрутам, объемы инвестиций в разные активы и т.д. Важным условием является неотрицательность всех переменных: xj ≥ 0 для всех j = 1, …, n.
  2. Система ограничений: Это совокупность линейных уравнений или неравенств, описывающих лимитирующие факторы, присущие рассматриваемой экономической системе. Ограничения отражают конечность ресурсов (сырье, рабочая сила, оборудование), производственные мощности, рыночные условия, нормативные требования и другие условия, которые не могут быть нарушены. Общий вид ограничения:
    a11x1 + a12x2 + ... + a1nxn ≤ b1 (или ≥ b1, или = b1)
    где aij — коэффициенты, характеризующие расход i-го ресурса на производство единицы j-го продукта, или вклад j-й переменной в i-е ограничение; bi — объем i-го ресурса или правая часть i-го ограничения.
  3. Целевая функция (F(X)): Это линейная функция, которая выражает критерий оптимальности задачи, то есть показатель, который мы стремимся максимизировать (например, прибыль, выручку) или минимизировать (например, издержки, время). Она всегда имеет вид:
    F = c1x1 + c2x2 + ... + cnxn
    где cj — коэффициенты, отражающие вклад единицы j-й переменной в общую цель (например, прибыль от единицы продукции, стоимость перевозки единицы груза).

Таким образом, общая математическая модель задачи линейного программирования выглядит следующим образом:

Найти X = (x1, x2, …, xn) такой, что:

F = c1x1 + c2x2 + ... + cnxn → max/min

При ограничениях:

a11x1 + a12x2 + ... + a1nxn R1 b1
a21x1 + a22x2 + ... + a2nxn R2 b2

am1x1 + am2x2 + ... + amnxn Rm bm

xj ≥ 0, для всех j = 1, ..., n

Где Ri может быть символом «≤», «≥» или «=».

Понятия допустимых и оптимальных решений

В теории линейного программирования ключевыми являются понятия «допустимого» и «оптимального» решения, которые определяют область поиска искомого результата.

  • Допустимое решение (план): Любой n-мерный вектор X = (x1, x2, …, xn), который удовлетворяет всем ограничениям системы и условиям неотрицательности переменных (xj ≥ 0). Иными словами, это любой вариант действий, который не нарушает заданные условия и технические требования.
  • Область допустимых решений (ОДР): Множество всех допустимых решений задачи. Геометрически ОДР всегда представляет собой выпуклую фигуру. Это может быть выпуклый многоугольник (в двумерном пространстве) или выпуклый многогранник (в многомерном пространстве). Выпуклость ОДР – фундаментальное свойство, которое гарантирует, что если две точки принадлежат ОДР, то любой отрезок, соединяющий эти точки, также полностью лежит в ОДР.
    Важно отметить, что ОДР может принимать различные формы:

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

Анализ оптимальных решений может выявить различные сценарии:

  • Единственное оптимальное решение: Наиболее распространенный и понятный случай, когда только один план обеспечивает экстремальное значение целевой функции.
  • Множество оптимальных решений (альтернативный оптимум): Если линия уровня целевой функции совпадает с одной из граней ОДР, то все точки на этом отрезке (или грани) являются оптимальными решениями. Это означает, что существует несколько равноценных вариантов достижения цели.
  • Отсутствие оптимального решения: Происходит, если ОДР является пустым множеством (противоречивые ограничения).
  • Неограниченная целевая функция: Если ОДР является неограниченной, и направление оптимизации (максимизации или минимизации) совпадает с направлением, в котором ОДР простирается до бесконечности, то целевая функция может принимать сколь угодно большие (для максимизации) или сколь угодно малые (для минимизации) значения. В этом случае говорят, что оптимальное решение не существует, так как целевая функция не ограничена на ОДР.

Основные типы задач линейного программирования

Линейное программирование позволяет моделировать широкий спектр экономических ситуаций. Среди наиболее классических и часто встречающихся типов задач можно выделить:

  • Транспортные задачи: Цель – найти оптимальный план перевозок однородного груза от поставщиков к потребителям с минимальными затратами, при условии полного вывоза запасов и полного удовлетворения запросов.
  • Задачи о составлении плана производства: Определение оптимальных объемов производства различных видов продукции для максимизации прибыли или минимизации издержек, учитывая ограничения на ресурсы (сырье, оборудование, рабочая сила).
  • Задачи о смеси (или о диете): Формирование оптимального состава смеси (например, корма, сплава, рациона питания) из нескольких компонентов для достижения требуемых характеристик (например, содержание питательных веществ, прочность) при минимальной стоимости.

Эти примеры демонстрируют универсальность линейного программирования как инструмента для оптимизации ресурсных потоков и принятия стратегических решений в различных отраслях.

Графический метод решения задач линейного программирования

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

Применимость и геометрическая интерпретация

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

Геометрическая интерпретация метода строится на следующих принципах:

  • Ограничения как полуплоскости: Каждое линейное неравенство системы ограничений (например, a1x1 + a2x2 ≤ b) на плоскости (x1, x2) определяет полуплоскость. Граничная прямая для такого неравенства находится, если заменить знак неравенства на знак равенства (a1x1 + a2x2 = b). Условия неотрицательности переменных (x1 ≥ 0, x2 ≥ 0) определяют первую четверть координатной плоскости.
  • Область допустимых решений (ОДР) как многоугольник: Совокупность точек, удовлетворяющих всем ограничениям, включая условия неотрицательности, образует многоугольник решений, или, как мы уже знаем, выпуклую область допустимых решений. Если ограничения противоречивы, ОДР может быть пустым множеством.
  • Целевая функция как семейство параллельных прямых (линий уровня): Целевая функция F = c1x1 + c2x2 при фиксированном значении L (например, L = F) представляет собой прямую линию на плоскости: L = c1x1 + c2x2. Изменяя значение L, мы получаем семейство параллельных прямых.
  • Вектор-градиент: Вектор C с координатами (c1, c2), составленный из коэффициентов целевой функции, перпендикулярен к каждой из линий уровня целевой функции. Этот вектор указывает направление наиболее быстрого возрастания целевой функции (для максимизации) или наиболее быстрого убывания (для минимизации).

Алгоритм графического метода

Пошаговый алгоритм решения задачи ЛП графическим методом выглядит следующим образом:

  1. Построение области допустимых решений (ОДР):
    • Для каждого ограничения-неравенства строим соответствующую граничную прямую, приравнивая неравенство к равенству.
    • Определяем, какая из полуплоскостей, разделяемых этой прямой, удовлетворяет исходному неравенству (для этого можно взять пробную точку, например, (0,0), если она не лежит на прямой).
    • Условия неотрицательности x1 ≥ 0 и x2 ≥ 0 означают, что решения должны находиться в первой четверти координатной плоскости.
    • Пересечение всех полуплоскостей, удовлетворяющих ограничениям, и определяет ОДР. Если ОДР отсутствует, задача не имеет решения.

    Пример построения:
    Пусть даны ограничения:

    1. x1 + 2x2 ≤ 10
    2. 3x1 + x2 ≤ 15
    3. x1 ≥ 0, x2 ≥ 0
    • Для первого ограничения: x1 + 2x2 = 10. Точки: (0, 5), (10, 0).
    • Для второго ограничения: 3x1 + x2 = 15. Точки: (0, 15), (5, 0).
    • ОДР будет выпуклым многоугольником, ограниченным осями координат и этими прямыми.
  2. Построение линии уровня целевой функции и вектора-градиента:
    • Выбираем произвольное значение для целевой функции F (например, F0) и строим соответствующую линию уровня: F0 = c1x1 + c2x2. Желательно выбрать F0 так, чтобы линия уровня проходила через ОДР.
    • Строим вектор-градиент C = (c1, c2), исходящий из начала координат. Этот вектор показывает направление, в котором целевая функция возрастает. Для минимизации целевой функции мы будем двигаться в противоположном направлении.
  3. Нахождение оптимального решения:
    • Мысленно перемещаем линию уровня целевой функции параллельно самой себе в направлении вектора C (для максимизации) или в противоположном направлении (для минимизации).
    • Последняя точка, в которой линия уровня касается ОДР, и будет точкой оптимального решения. Этой точкой всегда будет одна из вершин ОДР.
    • Если линия уровня касается целой грани ОДР (отрезка), то все точки на этом отрезке являются оптимальными решениями (множественность оптимума).
    • Координаты этой точки (x1опт, x2опт) определяют оптимальный план, а подстановка их в целевую функцию дает оптимальное значение Fопт.

Анализ различных случаев

Графический метод также позволяет наглядно проиллюстрировать различные сценарии поведения оптимального решения:

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

Графический метод, при всей своей простоте, дает глубокое понимание сути линейного программирования и является отличным стартом для изучения более сложных алгоритмов.

Симплекс-метод: универсальный алгоритм для многомерных задач

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

Сущность и общие принципы

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

Ключевые принципы симплекс-метода:

  • Поиск в вершинах: Оптимум в задачах ЛП всегда достигается в одной из вершин выпуклого многогранника, который представляет собой область допустимых решений. Симплекс-метод целенаправленно перемещается по этим вершинам.
  • Базисные решения: В основе метода лежит концепция базисных решений. Для системы из m линейных уравнений с n переменными (m < n) базисное решение получается, если n-m переменных приравнять к нулю (неосновные, или свободные переменные), а оставшиеся m переменных (основные, или базисные переменные) определить из системы уравнений. Допустимое базисное решение – это базисное решение, в котором все базисные переменные неотрицательны.
  • Последовательное улучшение: На каждом шаге (итерации) симплекс-метод определяет, можно ли улучшить текущее базисное решение, введя в базис одну из неосновных переменных и выведя из него одну из базисных. Этот обмен производится таким образом, чтобы значение целевой функции улучшалось (увеличивалось для максимизации, уменьшалось для минимизации).

Важно отметить, что, несмотря на название «симплекс-метод», область допустимых решений не обязательно является симплексом (который представляет собой частный случай выпуклого многогранника). Метод получил свое название из-за использования концепции симплекса в ранних теоретических разработках, но применяется к любым выпуклым многогранникам.

Приведение задачи к канонической форме и построение начального опорного плана

Прежде чем применять симплекс-метод, исходная задача линейного программирования должна быть приведена к канонической форме. Это означает, что:

  1. Все ограничения должны быть равенствами. Неравенства типа «≤» преобразуются в равенства путем введения неотрицательных дополнительных (балансовых) переменных. Например, x1 + 2x2 ≤ 10 становится x1 + 2x2 + x3 = 10, где x3 ≥ 0.
    Неравенства типа «≥» преобразуются в равенства путем вычитания неотрицательных избыточных переменных. Например, 3x1 + x2 ≥ 15 становится 3x1 + x2 - x4 = 15, где x4 ≥ 0. Введение избыточной переменной часто требует использования искусственных переменных для формирования начального базиса, что приводит к двухфазному симплекс-методу или М-методу.
  2. Все переменные должны быть неотрицательными. xj ≥ 0. Если переменная xk может принимать любые значения, ее заменяют разностью двух неотрицательных переменных: xk = xk' - xk'', где xk' ≥ 0, xk'' ≥ 0.
  3. Правые части ограничений должны быть неотрицательными. Если bi < 0, то все члены соответствующего уравнения умножаются на -1.
  4. Задача максимизации: Если задача изначально на минимизацию, ее можно преобразовать в задачу максимизации, умножив целевую функцию на -1 (min F = max (-F)).

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

Пример:
Пусть имеем систему:
x1 + 2x2 + x3 = 10
3x1 + x2 + x4 = 15
x1, x2, x3, x4 ≥ 0

Здесь x3 и x4 являются базисными переменными для начального опорного плана. Приравнивая небазисные переменные x1 = 0, x2 = 0, получаем:
x3 = 10
x4 = 15
Начальный опорный план: X = (0, 0, 10, 15).

Симплекс-таблица и итерационный процесс

Для удобства вычислений и организации итерационного процесса используется симплекс-таблица. Ее структура позволяет компактно представить всю необходимую информацию:

Базис x1 x2 ... xn b (Свободные члены)
xбаз1 a11 a12 ... a1n b1
xбаз2 a21 a22 ... a2n b2
... ... ... ... ... ...
xбазм am1 am2 ... amn bm
F (Целевая функция) c1' c2' ... cn' Fзначение
  • Первый столбец ("Базис"): Содержит текущие базисные переменные.
  • Верхняя строка: Содержит все переменные задачи (как базисные, так и небазисные).
  • Средняя часть таблицы: Содержит коэффициенты при переменных в системе ограничений.
  • Столбец "b" (Свободные члены): Значения текущих базисных переменных (после преобразований) или правые части ограничений.
  • Последняя строка ("F" или "Дельта-строка"): Содержит коэффициенты целевой функции, выраженной через небазисные переменные (или оценки Δj = cj - zj, где zj – это вклад j-й небазисной переменной в целевую функцию через текущие базисные).

Итерационный процесс симплекс-метода состоит из следующих шагов:

  1. Проверка на оптимальность: Анализируем последнюю (индексную) строку.
    • Для задачи максимизации: Если все коэффициенты в индексной строке (cj' или Δj) неотрицательны, то текущее базисное решение является оптимальным. Если есть отрицательные коэффициенты, задача неоптимальна.
    • Для задачи минимизации: Если все коэффициенты в индексной строке неотрицательны (или неположительны, если целевая функция выражена как min F = max (-F)), то решение оптимально.
  2. Выбор разрешающего столбца (вводимая переменная):
    • Для максимизации: Выбираем столбец, соответствующий переменной с наибольшим по абсолютной величине отрицательным коэффициентом в индексной строке. Это правило Данцига (Dantzig's rule) – оно направлено на максимально быстрое увеличение целевой функции.
    • Для минимизации: Выбираем столбец с наибольшим положительным коэффициентом.
    • Выбранный столбец называется разрешающим.

  3. Выбор разрешающей строки (выводимая переменная):
    • Для каждого положительного элемента разрешающего столбца вычисляем отношение свободного члена (столбец "b") к этому элементу.
    • Разрешающей строкой будет та, для которой это отношение является минимальным среди всех положительных. Это правило обеспечивает неотрицательность новых базисных переменных.
    • Переменная, стоящая в базисе в разрешающей строке, выводится из базиса.
    • Элемент, находящийся на пересечении разрешающего столбца и разрешающей строки, называется разрешающим элементом.

  4. Пересчет симплекс-таблицы (Жордановы исключения):
    • Разрешающий элемент преобразуется в 1 путем деления всей разрешающей строки на его значение.
    • Все остальные элементы разрешающего столбца преобразуются в 0.
    • Все остальные элементы таблицы пересчитываются по формуле прямоугольника.
    • Новая базисная переменная (из разрешающего столбца) заменяет выведенную переменную в первом столбце.
  5. Повторение: Возвращаемся к шагу 1 и повторяем процесс до достижения оптимального решения.

Критерии оптимальности и анализ особых случаев

Критерии оптимальности:

  • Для задачи максимизации (F → max): Текущее допустимое базисное решение является оптимальным, если все коэффициенты в индексной строке (под переменными) неотрицательны. Если целевая функция была преобразована (min F = max (-F)), то для ее оптимальности все коэффициенты должны быть неположительными.
  • Для задачи минимизации (F → min): Текущее допустимое базисное решение является оптимальным, если все коэффициенты в индексной строке неположительны. Если целевая функция была преобразована, то для ее оптимальности все коэффициенты должны быть неотрицательными.

Анализ особых случаев:

  • Неограниченная целевая функция (нет оптимального решения): Если на каком-либо шаге итераций в индексной строке есть отрицательный коэффициент (для задачи максимизации), но все элементы соответствующего разрешающего столбца неположительны (то есть, ≤ 0), это означает, что целевая функция не ограничена сверху на области допустимых решений. В этом случае задача не имеет конечного оптимального решения.
  • Альтернативные оптимумы (множество оптимальных решений): Если в оптимальной симплекс-таблице в индексной строке (для небазисных переменных) присутствует нулевой коэффициент, это указывает на существование альтернативного оптимального решения. Это означает, что можно ввести в базис соответствующую небазисную переменную, не изменяя при этом значение целевой функции, и получить другой оптимальный план.
  • Вырожденное решение: Опорное решение называется вырожденным, если одна или несколько базисных переменных равны нулю. Это может привести к "зацикливанию" симплекс-метода, когда алгоритм возвращается к уже пройденным базисным решениям без улучшения целевой функции. На практике такие случаи редки, и существуют специальные правила для их разрешения.

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

Транспортная задача: оптимизация логистических процессов

Транспортная задача представляет собой особый, но чрезвычайно важный класс задач линейного программирования, направленный на оптимизацию логистических потоков. Ее цель – минимизировать затраты на перевозку однородного груза от нескольких поставщиков к нескольким потребителям, полностью удовлетворяя спрос и используя имеющиеся запасы.

Постановка и математическая модель транспортной задачи

Определение: Транспортная задача – это задача математического программирования специального вида, которая занимается поиском оптимального распределения однородных объектов (грузов) из пунктов отправления (поставщиков) в пункты назначения (потребителей) с целью минимизации общих затрат на перемещение.

Цель: Основная цель транспортной задачи — обеспечить доставку продукции потребителю в нужное время и место с минимально возможными совокупными затратами (денежными, временными, ресурсными).

Исходные данные:

  • Объемы запасов поставщиков (ai): Количество груза, доступного у i-го поставщика (i = 1, ..., m).
  • Объемы запросов потребителей (bj): Количество груза, требуемого j-м потребителем (j = 1, ..., n).
  • Стоимости перевозки (cij): Стоимость перевозки единицы груза от i-го поставщика к j-му потребителю.

Математическая формулировка:
Пусть xij — это объем груза, перевозимого от i-го поставщика к j-му потребителю.
Требуется найти такие xij, которые удовлетворяют следующим условиям:

1. Целевая функция (минимизация затрат):
Z = Σi=1m Σj=1n cijxij → min

2. Ограничения по запасам поставщиков:
Сумма всех перевозок от каждого поставщика не должна превышать его запасы (или должна быть равна им, если запасы вывозятся полностью):
Σj=1n xij = ai, для всех i = 1, ..., m

3. Ограничения по запросам потребителей:
Сумма всех перевозок к каждому потребителю должна удовлетворять его запросу:
Σi=1m xij = bj, для всех j = 1, ..., n

4. Условия неотрицательности:
Объемы перевозок не могут быть отрицательными:
xij ≥ 0, для всех i = 1, ..., m; j = 1, ..., n

Типы транспортных задач:

  • Закрытая (сбалансированная) транспортная задача: Если суммарные запасы всех поставщиков равны суммарным запросам всех потребителей:
    Σi=1m ai = Σj=1n bj
    Только для закрытой задачи гарантируется существование решения.
  • Открытая (несбалансированная) транспортная задача: Если суммарные запасы не равны суммарным запросам. В этом случае задача преобразуется в закрытую путем введения фиктивного поставщика или фиктивного потребителя:
    • Если Σai > Σbj, вводится фиктивный потребитель с запросом bфик = Σai - Σbj. Стоимости перевозки к фиктивному потребителю обычно принимаются равными нулю.
    • Если Σai < Σbj, вводится фиктивный поставщик с запасом aфик = Σbj - Σai. Стоимости перевозки от фиктивного поставщика также равны нулю.

Методы построения начального опорного плана

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

  1. Метод «Северо-Западного угла»:
    Это самый простой и механистичный метод построения начального опорного плана. Он не учитывает стоимости перевозок, что является его главным недостатком, поскольку часто приводит к опорному плану, далекому от оптимального.

    Алгоритм:

    • Начинаем заполнение транспортной таблицы с самой верхней левой клетки (ячейки) — "северо-западного угла" (x11).
    • В эту клетку вписываем максимально возможное значение x11, которое равно минимуму из запаса первого поставщика (a1) и запроса первого потребителя (b1). То есть, x11 = min(a1, b1).
    • После заполнения клетки, либо запас поставщика, либо запрос потребителя (или оба) исчерпываются.
    • Если исчерпан запас поставщика, переходим к следующей клетке вправо в той же строке (x12, если b1 > a1) или к следующей строке (x21, если a1 > b1), если запрос потребителя еще не удовлетворен, то переходим вниз в следующем столбце.
    • Процесс продолжается до тех пор, пока все запасы не будут вывезены, а все запросы не будут удовлетворены.
    • Число занятых клеток (базисных переменных) в опорном плане должно быть равно m+n-1, где m – число поставщиков, n – число потребителей. Если занятых клеток меньше, план является вырожденным.

    Недостатки: Простота метода является одновременно его слабостью. Игнорирование стоимостей перевозок приводит к тому, что полученный опорный план может иметь очень высокую общую стоимость, требуя значительных корректировок на последующих этапах оптимизации.

  2. Метод минимальной стоимости (наименьшего элемента):
    Этот метод является более "интеллектуальным", чем метод северо-западного угла, поскольку он учитывает стоимости перевозок, что обычно приводит к более "качественному" (более дешевому) начальному опорному плану, ближе к оптимальному.

    Алгоритм:

    • Из всей таблицы стоимостей (cij) выбираем клетку с наименьшей стоимостью.
    • В эту клетку вписываем максимально возможное значение xij, которое равно минимуму из запаса соответствующего поставщика (ai) и запроса соответствующего потребителя (bj).
    • После этого "вычеркиваем" (обнуляем) строку или столбец, чей запас или запрос был полностью исчерпан (или оба, если они равны).
    • Повторяем процесс, выбирая наименьшую стоимость среди оставшихся незачеркнутых клеток.
    • Процесс продолжается до полного исчерпания всех запасов и удовлетворения всех запросов.

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

Метод потенциалов для нахождения оптимального плана

Метод потенциалов – это модификация симплекс-метода, специально адаптированная для решения транспортной задачи. Он позволяет эффективно находить оптимальный план перевозок за конечное число итераций.

Алгоритм метода потенциалов:

  1. Нахождение начального допустимого опорного плана X:
    Используем один из методов, описанных выше (например, метод северо-западного угла или метод минимальной стоимости). Убеждаемся, что количество занятых клеток (xij > 0) равно m+n-1.
  2. Построение системы потенциалов ui и vj:
    Для каждой занятой клетки (xij > 0) должно выполняться условие:
    vj - ui = cij
    где ui – потенциал i-го поставщика, vj – потенциал j-го потребителя, cij – стоимость перевозки.
    Поскольку у нас m+n-1 уравнение и m+n неизвестных (потенциалов), одну из переменных (обычно u1 или v1) можно произвольно приравнять к нулю (например, u1 = 0). Затем последовательно вычисляем остальные потенциалы.
  3. Исследование плана X на оптимальность (вычисление оценок свободных клеток):
    Для всех свободных клеток (xij = 0), то есть тех, по которым груз не перевозится в текущем плане, вычисляются оценки (косвенные стоимости):
    Δij = cij - (ui + vj)

    • Критерий оптимальности: План X является оптимальным, если все Δij ≥ 0. Это означает, что для любой незанятой клетки стоимость перевозки превышает суммарную ценность (потенциалы) соответствующих поставщика и потребителя, то есть введение перевозки по этой клетке приведет к увеличению общих затрат.
  4. Улучшение плана (если план неоптимален):
    Если найдутся клетки с Δij < 0, то текущий план неоптимален.
    • Выбираем свободную клетку с наибольшей по абсолютной величине отрицательной оценкой Δij. Эта клетка становится вводимой в базис.
    • Строим замкнутый цикл перераспределения грузов, начинающийся и заканчивающийся в выбранной свободной клетке. Этот цикл должен состоять только из горизонтальных и вертикальных отрезков, а его вершины должны располагаться только в занятых клетках (кроме вводимой).
    • В углах цикла проставляем чередующиеся знаки "+" и "-". Начинаем с "+" в вводимой клетке, затем "-" в следующей занятой клетке, затем "+" и так далее.
    • Из всех клеток со знаком "-" выбираем ту, в которой объем перевозки xij минимален. Это значение (θ) будет вычитаться из клеток со знаком "-" и прибавляться к клеткам со знаком "+".
    • Пересчитываем объемы перевозок по клеткам цикла. Одна или несколько клеток со знаком "-" обнулятся, одна клетка со знаком "+" станет новой занятой (введенная клетка).
    • Получаем новый, улучшенный опорный план X', у которого значение целевой функции Q(X') будет меньше или равно Q(X).
  5. Повторение: Возвращаемся к шагу 2 с новым планом и повторяем процесс до тех пор, пока не будет выполнен критерий оптимальности (все Δij ≥ 0).

Число занятых клеток: Важным условием для применения метода потенциалов является то, что число занятых клеток в опорном плане должно быть равно m+n-1. Если их меньше, план является вырожденным, и для определения всех потенциалов необходимо искусственно "занять" свободные клетки, присвоив им нулевые перевозки (т.н. ε-метод).

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

Экономическая интерпретация оптимальных решений и теория двойственности

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

Вклад Леонида Витальевича Канторовича

Невозможно говорить о линейном программировании и его экономической интерпретации, не упомянув выдающегося советского математика и экономиста Леонида Витальевича Канторовича (1912-1986). Его работа "Математические методы организации и планирования производства", опубликованная в 1939 году, задолго до западных аналогов, заложила основы теории линейного программирования. В ней Канторович предложил методы оптимизации использования ресурсов в различных отраслях промышленности, сформулировав задачи, которые позже стали известны как задачи линейного программирования.

Он был первым, кто не только разработал математический аппарат, но и глубоко исследовал экономический смысл так называемых "объективно обусловленных оценок" – по сути, тех же самых двойственных цен, которые мы сегодня используем для анализа. В 1975 году Леонид Канторович был удостоен Нобелевской премии по экономике (совместно с американским экономистом Тьяллингом Чарльзом Купмансом) "за вклад в теорию оптимального распределения ресурсов". Его вклад был монументален и проложил путь для широкого применения математических методов в планировании и управлении экономикой.

Основные положения теории двойственности

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

Прямая и двойственная задачи:

Предположим, что прямая задача имеет вид:
Прямая задача (P):
Целевая функция: F(X) = Σj=1n cjxj → max
Ограничения:
Σj=1n aijxj ≤ bi, для i = 1, ..., m
xj ≥ 0, для j = 1, ..., n

Тогда соответствующая двойственная задача (D) будет сформулирована следующим образом:
Целевая функция: G(Y) = Σi=1m biyi → min
Ограничения:
Σi=1m aijyi ≥ cj, для j = 1, ..., n
yi ≥ 0, для i = 1, ..., m

Основные свойства двойственности:

  • Принцип оптимальности: Если прямая задача имеет оптимальное решение, то и двойственная задача имеет оптимальное решение, и оптимальные значения их целевых функций равны (max F(X) = min G(Y)).
  • Слабая двойственность: Значение целевой функции любой допустимой точки прямой задачи всегда меньше или равно значению целевой функции любой допустимой точки двойственной задачи.
  • Теорема о дополняющей нежесткости (теорема Куна-Таккера): Устанавливает связь между оптимальными решениями прямой и двойственной задач, показывая, что если ресурс не полностью используется в прямом плане, то его двойственная оценка равна нулю, и наоборот.

Двойственные переменные (yi) называются учетными, неявными, теневыми, или объективно обусловленными оценками ресурсов. Они отражают ценность каждого ресурса с точки зрения его вклада в целевую функцию.

Как строится двойственная задача:

  • Матрица коэффициентов ограничений двойственной задачи является транспонированной по отношению к матрите коэффициентов ограничений исходной (прямой) задачи.
  • Коэффициенты целевой функции прямой задачи становятся правыми частями ограничений двойственной задачи.
  • Правые части ограничений прямой задачи становятся коэффициентами целевой функции двойственной задачи.
  • Каждому ограничению прямой задачи соответствует переменная двойственной задачи.
  • Каждой переменной прямой задачи соответствует ограничение двойственной задачи.
  • Если ограничение прямой задачи является равенством, то соответствующая двойственная переменная может принимать любое значение (неотрицательность не требуется).
  • Если переменная прямой задачи не имеет ограничения на знак, то соответствующее ограничение двойственной задачи является равенством.

Экономический смысл двойственных оценок

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

  • Мера ценности ресурса: Двойственная оценка yi для i-го ресурса показывает, насколько увеличится (для максимизации) или уменьшится (для минимизации) оптимальное значение целевой функции, если объем i-го ресурса bi увеличится на одну единицу. Таким образом, эти оценки отражают "ценность" или "дефицитность" каждой единицы ресурса.
  • Рентабельность оптимального плана: Теория двойственности утверждает, что при оптимальном плане и оптимальном векторе двойственных оценок общая стоимость произведенной продукции (целевая функция прямой задачи) равна суммарной оценке затраченных ресурсов (целевая функция двойственной задачи). Это гарантирует рентабельность оптимального плана. Для любого другого, неоптимального плана, цена произведенной продукции будет меньше суммарной оценки затраченных ресурсов, что указывает на его убыточность или неэффективность.
  • Дефицитные и недефицитные ресурсы:
    • Положительную двойственную оценку (yi > 0) могут иметь только те ресурсы, которые полностью используются в оптимальном плане. Это дефицитные ресурсы, которые являются "узким местом" производства и ограничивают дальнейшее увеличение целевой функции. Их дополнительная единица может принести реальную выгоду.
    • Нулевую двойственную оценку (yi = 0) имеют ресурсы, которые не используются полностью в оптимальном плане, то есть имеют остаток (избыток). Это недефицитные ресурсы. Дополнительная единица такого ресурса в текущих условиях не приведет к улучшению целевой функции, так как его и так достаточно.

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

Двойственные оценки являются мощным инструментом для принятия управленческих решений, выходящим за рамки простого нахождения оптимального плана:

  1. Ценообразование и инвестиции: Они помогают определить экономически обоснованные "внутренние" цены ресурсов, что важно для принятия решений о закупках, формировании ценовой политики и оценке инвестиционных проектов. Если внешняя цена ресурса ниже его двойственной оценки, то имеет смысл рассмотреть возможность его дополнительной закупки.
  2. Принятие решений о расширении производства: Если дефицитный ресурс имеет высокую двойственную оценку, это сигнализирует о том, что инвестиции в увеличение этого ресурса могут быть очень выгодными.
  3. Оценка эффективности использования ресурсов: Сравнение двойственных оценок различных ресурсов позволяет понять, какие ресурсы являются наиболее критичными для достижения цели, и куда следует направить усилия по их более эффективному использованию или поиску альтернатив.
  4. Анализ чувствительности решения: Двойственные оценки дают возможность оценить, как изменятся оптимальное значение целевой функции и сам план при небольших изменениях запасов ресурсов или коэффициентов целевой функции (например, цен на продукцию или себестоимости).

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

Заключение

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

Мы рассмотрели, как формируются математические модели, переводя сложные экономические реалии в формализованную систему ограничений и целевой функции. Исследовали графический метод, который, хотя и ограничен двумя переменными, дает бесценное интуитивное понимание процесса поиска оптимума. Затем мы погрузились в универсальный симплекс-метод, способный эффективно решать многомерные задачи, демонстрируя его алгоритмическую стройность и логику последовательного улучшения решения. Особое внимание было уделено транспортной задаче – классическому примеру оптимизации логистики, где методы Северо-Западного угла, минимальной стоимости и потенциалов позволяют находить наиболее эффективные маршруты перевозок. Наконец, мы подчеркнули ключевую роль экономической интерпретации, особенно теории двойственности и вклада Леонида Витальевича Канторовича, чьи объективно обусловленные оценки ресурсов до сих пор служат фундаментом для принятия стратегических управленческих решений.

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

Список использованной литературы

  1. Графический метод решения задач линейного программирования. URL: https://pk50.mskobr.ru/attach_files/upload_users_files/524/item/1672314792_graficheskiy-metod-resheniya-zadach-lineynogo-programmirovaniya.pdf (дата обращения: 04.11.2025).
  2. Лекция 9. Методы решения транспортной задачи. URL: https://www.math.spbu.ru/user/tver/lectures/mp/mp9.pdf (дата обращения: 04.11.2025).
  3. §9. Критерии оптимальности симплекс-метода. URL: https://bspu.by/content/document/6347 (дата обращения: 04.11.2025).
  4. Транспортная задача. Математическая модель транспортной задачи. URL: https://www.sgu.ru/sites/default/files/textdocs/2016/02/11/tranzadacha.pdf (дата обращения: 04.11.2025).
  5. Решение симплекс-методом задачи ЛП: пример и алгоритм. URL: https://function-x.ru/simplex_method_example_algorithm.html (дата обращения: 04.11.2025).
  6. Симплексный метод решения задач линейного программирования. URL: https://www.ucheba.ru/upload/file/2015/05/22/Simplex-method.doc (дата обращения: 04.11.2025).
  7. Симплексный метод решения задач линейного программирования. Основы и примеры. URL: https://obrazovaka.ru/matematika/simpleks-metod-resheniya-zadach-lineynogo-programmirovaniya.html (дата обращения: 04.11.2025).
  8. Галяутдинов, И. Транспортная задача: метод Северо-Западного угла // Сайт преподавателя экономики. URL: https://galyautdinov.ru/post/transportnaya-zadacha-metod-severo-zapadnogo-ugla (дата обращения: 04.11.2025).
  9. Глава 1. Построение математической модели задачи линейного программирования. URL: https://unecon.ru/sites/default/files/dissertaciya_glava_1.pdf (дата обращения: 04.11.2025).
  10. Построение математических моделей. URL: https://www.hse.ru/data/2012/03/24/1251390978/%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%20%E2%84%962.%20%D0%9F%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85%20%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B5%D0%B9.doc (дата обращения: 04.11.2025).
  11. Транспортная задача. URL: https://vunivere.ru/work7050 (дата обращения: 04.11.2025).
  12. Графический метод решения задачи линейного программирования для двух переменных. URL: https://ir.ranepa.ru/ir/files/documents/2019/09/20/matematika_2003.doc (дата обращения: 04.11.2025).
  13. 7.7. Экономическая интерпретация решения задачи линейного программирования. URL: https://bspu.by/content/document/6347 (дата обращения: 04.11.2025).
  14. 5. Двойственная задача линейного программирования. Экономическая интерпретация двойственной задачи линейного программирования. URL: https://e.sfu-kras.ru/bitstream/handle/123456789/22967/sfu-v4n7-2016-16-29.pdf?sequence=1 (дата обращения: 04.11.2025).
  15. Критерий оптимальности симплекс-метода, Алгоритм решения ЗЛП симплекс-методом, Выбор исключаемой базовой переменной - Линейное программирование. Транспортная задача. URL: https://ozlib.com/832731/matematika/kriteriy_optimalnosti_simpleks_metoda_algoritm_resheniya_zlp_simpleks_metodom_vybor_isklyuchaemoy_bazovoy_peremennoy (дата обращения: 04.11.2025).
  16. Галяутдинов, И. Транспортная задача - решение методом потенциалов // Сайт преподавателя экономики. URL: https://galyautdinov.ru/post/transportnaya-zadacha-reshenie-metodom-potentsialov (дата обращения: 04.11.2025).
  17. Графическое решение ЗЛП. URL: https://www.rea.ru/ru/org/managements/umo/Documents/УМК_Информатика_ГМУ.pdf (дата обращения: 04.11.2025).
  18. Математические модели задач линейного программирования. URL: https://www.grandars.ru/student/matematika/matematicheskie-modeli-lp.html (дата обращения: 04.11.2025).
  19. Экономическая интерпретация двойственной задачи и теории двойственности. URL: https://function-x.ru/dual_problem_economic_interpretation.html (дата обращения: 04.11.2025).
  20. Шаг 14. Графическое решение задач линейного программирования. URL: https://www.econ.msu.ru/download/file/57954/ (дата обращения: 04.11.2025).
  21. Формулировка основных типов задач ЛП, построение их математических моделей. URL: https://www.osu.ru/sites/default/files/textdocs/2014/10/24/09_zlp.pdf (дата обращения: 04.11.2025).
  22. Экономическая интерпретация решения задачи линейного программирования. URL: https://studref.com/475485/ekonomika/ekonomicheskaya_interpretatsiya_resheniya_zadachi_lineynogo_programmirovaniya (дата обращения: 04.11.2025).
  23. 4.3. Критерий оптимальности. URL: https://www.rea.ru/ru/org/managements/umo/Documents/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5%20%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B%20%D0%B2%20%D1%8D%D0%BA%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D0%BA%D0%B5.pdf (дата обращения: 04.11.2025).
  24. 13. Метод северо-западного угла построения исходного опорного плана транспортной задачи. URL: https://www.tyuiu.ru/wp-content/uploads/2025/05/2025-05-01-Matematicheskie-metody-v-ekonomike.pdf (дата обращения: 04.11.2025).
  25. 9. Двойственные задачи линейного программирования. URL: https://www.rea.ru/ru/org/managements/umo/Documents/%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5.pdf (дата обращения: 04.11.2025).
  26. Двойственные задачи линейного программирования, модели двойственных задач - Экономико-математические методы и модели: компьютерное моделирование. URL: https://studref.com/393288/ekonomika/dvoyastvennye_zadachi_lineynogo_programmirovaniya_modeli_dvoyastvennyh_zadach (дата обращения: 04.11.2025).
  27. Тема 1. Математическая модель задачи линейного программирования (ЗЛП). URL: https://sosu.ru/wp-content/uploads/2019/05/lekcionnyy-kurs.doc (дата обращения: 04.11.2025).
  28. Двойственные задачи линейного программирования - Менеджмент: методы принятия управленческих решений. URL: https://studme.org/168449/menedzhment/dvoystvennye_zadachi_lineynogo_programmirovaniya (дата обращения: 04.11.2025).
  29. Линейное программирование. URL: https://elib.bsu.by/bitstream/123456789/27532/1/%D0%9B%D0%9F%20%D0%9F%D0%9E%D0%A1%D0%9E%D0%91%D0%98%D0%95.pdf (дата обращения: 04.11.2025).
  30. Лекция 6. Алгоритм симплекс метода. URL: https://www.mephi.ru/upload/iblock/c38/lektsiya-6-algoritm-simpleks-metoda.pdf (дата обращения: 04.11.2025).
  31. Линейное программирование в экономике. URL: https://cyberleninka.ru/article/n/lineynoe-programmirovanie-v-ekonomike (дата обращения: 04.11.2025).
  32. Линейное программирование. URL: https://www.hse.ru/data/2013/10/31/1336499878/%D0%A0%D0%9F%202013%20%D0%9B%D0%9F.pdf (дата обращения: 04.11.2025).

Похожие записи