Экономико-математические методы: Подробное пошаговое руководство по решению типовых задач для контрольных работ

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

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

Линейная алгебра: Метод Жордана-Гаусса — от теории к практике

Линейная алгебра — это краеугольный камень многих экономико-математических методов. Без понимания её принципов невозможно эффективно решать задачи оптимизации, моделирования и анализа данных. Одним из наиболее универсальных и мощных инструментов в арсенале линейной алгебры является метод Жордана-Гаусса. Этот метод, хотя и кажется на первый взгляд сложным, при последовательном применении позволяет элегантно решать системы линейных алгебраических уравнений (СЛАУ), находить обратные матрицы и даже определять ранг матрицы, что является ключевым для верификации систем.

Сущность метода Жордана-Гаусса: Отличия от метода Гаусса

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

Представьте, что у вас есть система уравнений. Метод Гаусса сначала «убирает» переменные снизу вверх, делая все элементы под главной диагональю нулевыми. Затем, двигаясь снизу вверх, он находит значения переменных. Метод Жордана-Гаусса идет дальше: он не только обнуляет элементы под главной диагональю, но и над ней, превращая матрицу в единичную. В результате, когда в левой части расширенной матрицы формируется единичная матрица, в правой части автоматически появляется столбец, содержащий решение системы. Это избавляет от необходимости выполнять обратный ход, делая процесс более прямолинейным, что существенно упрощает и ускоряет вычисления.

Формирование единичной матрицы достигается за счет так называемого «жорданова исключения» с выбранным ведущим элементом. Каждый раз, выбирая ведущий элемент, мы нормализуем строку, в которой он находится (делаем ведущий элемент равным единице), а затем используем эту строку для обнуления всех остальных элементов в том же столбце. Этот процесс повторяется до тех пор, пока вся левая часть матрицы не преобразуется в единичную.

Пошаговый алгоритм решения СЛАУ методом Жордана-Гаусса

Решение системы линейных алгебраических уравнений методом Жордана-Гаусса представляет собой строго последовательный процесс. Рассмотрим его детально:

  1. Выписывание расширенной матрицы системы.

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

    Например, для системы:

    a11x1 + a12x2 + … + a1nxn = b1
    a21x1 + a22x2 + … + a2nxn = b2

    am1x1 + am2x2 + … + amnxn = bm

    Расширенная матрица будет иметь вид:

    a11 a12 a1n | b1
    a21 a22 a2n | b2
    |
    am1 am2 amn | bm
  2. Выбор ведущего элемента.

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

  3. Выполнение жорданова исключения.

    Это сердце метода, состоящее из трех подпунктов:

    • Разделение ведущей строки на ведущий элемент: Все элементы строки, содержащей ведущий элемент, делятся на этот ведущий элемент. Таким образом, сам ведущий элемент становится равным 1.
    • Заполнение свободных мест в ведущем столбце нулями: Все остальные элементы в столбце, содержащем ведущий элемент, должны быть преобразованы в нули. Это достигается путем вычитания из каждой i-й строки ведущей строки, умноженной на соответствующий элемент ai,j_ведущего (где j_ведущего — номер столбца ведущего элемента).
    • Пересчет остальных элементов матрицы по «правилу прямоугольника»: Для любого элемента akl, не находящегося ни в ведущей строке, ни в ведущем столбце, его новое значение рассчитывается по формуле:
      a’kl = akl - (aведущая_строка, l ⋅ ak, ведущий_столбец) / aведущий_элемент
      Правило прямоугольника визуализирует этот процесс: элементы akl, aведущая_строка, l, ak, ведущий_столбец и aведущий_элемент образуют вершины прямоугольника.
  4. Отметка ведущей строки и всех строк, помеченных ранее.

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

  5. Проверка на несовместность.

    После каждого этапа исключения необходимо проверить, не появилась ли строка вида (0 0 … 0 : b), где b ≠ 0. Если такая строка обнаружена, это означает, что система несовместна, то есть не имеет решений. (Пример: 0 = 5). Эта проверка крайне важна, чтобы избежать бессмысленных дальнейших вычислений в заведомо неразрешимой системе.

  6. Проверка на завершение и поиск общего решения.

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

Примеры решения систем уравнений и нахождения обратной матрицы

Пример 1: Решение СЛАУ с единственным решением

Рассмотрим систему:
x1 + 2x2 — x3 = 1
2x1 + 3x2 + x3 = 5
3x1 — x2 + 2x3 = 2

  1. Расширенная матрица:

    1 2 -1 | 1
    2 3 1 | 5
    3 -1 2 | 2
  2. Выбираем ведущий элемент a11 = 1.

    • Делим 1-ю строку на 1 (остается без изменений).
    • Обнуляем элементы в 1-м столбце:
      R2 ← R2 — 2R1
      R3 ← R3 — 3R1
    1 2 -1 | 1
    0 -1 3 | 3
    0 -7 5 | -1
  3. Выбираем ведущий элемент a22 = -1. (Строка 1 уже помечена как ведущая).

    • Делим 2-ю строку на -1: R2 ← -1 ⋅ R2
    1 2 -1 | 1
    0 1 -3 | -3
    0 -7 5 | -1
    • Обнуляем элементы во 2-м столбце:
      R1 ← R1 — 2R2
      R3 ← R3 + 7R2
    1 0 5 | 7
    0 1 -3 | -3
    0 0 -16 | -22
  4. Выбираем ведущий элемент a33 = -16. (Строки 1 и 2 уже помечены).

    • Делим 3-ю строку на -16: R3 ← R3 / (-16)
    1 0 5 | 7
    0 1 -3 | -3
    0 0 1 | 11/8
    • Обнуляем элементы в 3-м столбце:
      R1 ← R1 — 5R3
      R2 ← R2 + 3R3
    1 0 0 | 1/8
    0 1 0 | 9/8
    0 0 1 | 11/8

Все ненулевые строки помечены, в левой части единичная матрица.
Решение: x1 = 1/8, x2 = 9/8, x3 = 11/8.

Пример 2: Нахождение обратной матрицы

Для нахождения обратной матрицы A-1 для квадратной матрицы A методом Жордана-Гаусса, к матрице A справа приписывается единичная матрица того же порядка. Затем элементарными преобразованиями строк матрица A преобразуется в единичную. Одновременно с этим преобразованиями над единичной матрицей, приписанной справа, она превращается в A-1.

Пусть дана матрица A =

1 2
3 4

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

1 2 | 1 0
3 4 | 0 1
  1. Выбираем ведущий элемент a11 = 1.

    • R2 ← R2 — 3R1
    1 2 | 1 0
    0 -2 | -3 1
  2. Выбираем ведущий элемент a22 = -2.

    • R2 ← R2 / (-2)
    1 2 | 1 0
    0 1 | 3/2 -1/2
    • R1 ← R1 — 2R2
    1 0 | 1 — 2*(3/2) 0 — 2*(-1/2)
    0 1 | 3/2 -1/2
    1 0 | -2 1
    0 1 | 3/2 -1/2

Таким образом, обратная матрица A-1 =

-2 1
3/2 -1/2

.

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

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

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

Графический метод решения задач ЛП с двумя переменными

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

  1. Построение области допустимых решений (ОДР).

    Каждое ограничение в задаче ЛП (будь то неравенство или равенство) задает либо прямую линию, либо полуплоскость. Если ограничение является неравенством (например, x1 + x2 ≤ 10), то оно делит плоскость на две части. Одна из них — это область, где неравенство выполняется. ОДР представляет собой пересечение всех таких полуплоскостей. Это всегда выпуклый многоугольник (или неограниченная выпуклая область), вершины которого называются угловыми точками. Эти угловые точки являются потенциальными кандидатами на оптимальное решение. Если ОДР — пустое множество, то задача не имеет решения.

    Условия неотрицательности переменных (xi ≥ 0) означают, что решения ищутся только в первом квадранте координатной плоскости.

  2. Построение линии уровня целевой функции.

    Целевая функция (например, F(x) = c1x1 + c2x2) представляет собой семейство параллельных прямых. Для построения одной из этих линий (линии уровня) достаточно приравнять целевую функцию к произвольному значению, например, F(x) = c0. Эта прямая будет перпендикулярна вектору-градиенту целевой функции.

  3. Построение вектора-градиента.

    Вектор-градиент целевой функции (grad F = (c1, c2)) указывает направление наискорейшего возрастания целевой функции. Для максимизации целевой функции мы будем двигать линию уровня в направлении вектора-градиента. Для минимизации — в противоположном направлении.

  4. Поиск оптимального решения.

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

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

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

Для удобства анализа и применения различных методов решения задачи ЛП приводятся к определенным формам.

  1. Общая форма.

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

    Целевая функция:
    Максимизировать/Минимизировать Z = c1x1 + c2x2 + … + cnxn

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

    • a11x1 + … + a1nxn ≤ b1 (неравенство «меньше или равно»)
    • a21x1 + … + a2nxn ≥ b2 (неравенство «больше или равно»)
    • a31x1 + … + a3nxn = b3 (равенство)
    • Переменные могут быть неотрицательными (xj ≥ 0), неположительными (xj ≤ 0) или неограниченными по знаку.
  2. Стандартная форма.

    Эта форма используется как основа для симплекс-метода. Её особенности:

    • Целевая функция всегда максимизируется (если нужно минимизировать, то целевая функция умножается на -1).
    • Все ограничения представлены в виде равенств.
    • Все переменные неотрицательны (xj ≥ 0).
    • Приведение к стандартной форме:
      • Неравенство «≤» преобразуется в равенство путем добавления неотрицательной дополнительной (слабой) переменной. Например, x1 + x2 ≤ 10 ⇒ x1 + x2 + s1 = 10, где s1 ≥ 0.
      • Неравенство «≥» преобразуется в равенство путем вычитания неотрицательной избыточной переменной. Например, x1 + x2 ≥ 5 ⇒ x1 + x2 — s2 = 5, где s2 ≥ 0.
      • Переменная, неограниченная по знаку, заменяется разностью двух неотрицательных переменных: xj = xj‘ — xj», где xj‘, xj» ≥ 0.
  3. Каноническая форма.

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

Прямая и двойственная задачи: Формулировка, связь и экономическая интерпретация двойственных оценок (теневых цен)

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

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

Предположим, прямая задача (ПЗ) сформулирована на максимизацию:
Максимизировать Z = Σj=1n cjxj

При ограничениях:
Σj=1n aijxj ≤ bi, для i = 1, …, m
xj ≥ 0, для j = 1, …, n

Тогда соответствующая двойственная задача (ДЗ) будет сформулирована на минимизацию:
Минимизировать W = Σi=1m biyi

При ограничениях:
Σi=1m aijyi ≥ cj, для j = 1, …, n
yi ≥ 0, для i = 1, …, m

Ключевые принципы связи:

  1. Целевая функция: Если прямая задача максимизирует, двойственная минимизирует, и наоборот.
  2. Коэффициенты и свободные члены: Коэффициенты целевой функции прямой задачи становятся свободными членами ограничений двойственной задачи. Свободные члены ограничений прямой задачи становятся коэффициентами целевой функции двойственной задачи.
  3. Транспонирование матрицы: Матрица коэффициентов ограничений двойственной задачи является транспонированной к матрице коэффициентов ограничений прямой задачи. То есть, aij в прямой задаче соответствует aji в двойственной.
  4. Знаки неравенств: Если ограничение прямой задачи имеет вид «≤», то соответствующая переменная двойственной задачи неотрицательна (yi ≥ 0). Если ограничение прямой задачи имеет вид «≥», то соответствующая переменная двойственной задачи неположительна (yi ≤ 0). Если ограничение прямой задачи — равенство, то соответствующая переменная двойственной задачи неограничена по знаку.
  5. Взаимосвязь переменных и ограничений: Каждая переменная прямой задачи соответствует ограничению двойственной задачи, и каждое ограничение прямой задачи соответствует переменной двойственной задачи.

Экономическая интерпретация двойственных оценок (теневых цен):

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

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

  • Оценка ресурсов: Стоит ли покупать дополнительный ресурс? Если его рыночная цена ниже теневой цены, то покупка выгодна.
  • Распределение ресурсов: Какие ресурсы являются «узкими местами» (имеют высокую теневую цену) и требуют первоочередного внимания?
  • Ценообразование: Помогает понять, как изменения в доступности ресурсов влияют на себестоимость и потенциальную прибыль.

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

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

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

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

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

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

Представим m поставщиков, имеющих запасы ai (i = 1, …, m), и n потребителей, запрашивающих bj (j = 1, …, n) единиц продукта. Известны также стоимости перевозки единицы продукта cij от i-го поставщика к j-му потребителю.

Математическая модель:

Пусть xij — количество продукта, перевозимого от i-го поставщика к j-му потребителю.

Целевая функция (минимизация общих затрат на перевозку):
Минимизировать Z = Σi=1m Σj=1n cijxij

Ограничения:

  1. По запасам поставщиков: Объем груза, отгружаемый i-м поставщиком, не должен превышать его запас.
    Σj=1n xij = ai, для i = 1, …, m
  2. По потребностям потребителей: Объем груза, получаемый j-м потребителем, должен удовлетворять его потребности.
    Σi=1m xij = bj, для j = 1, …, n
  3. Условие неотрицательности переменных: Объем перевозок не может быть отрицательным.
    xij ≥ 0, для всех i, j

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

  1. Закрытого типа (сбалансированная): Это идеальный случай, когда суммарные запасы у всех поставщиков точно равны суммарным потребностям всех потребителей:
    Σi=1m ai = Σj=1n bj
    В такой задаче все запасы будут полностью вывезены, а все потребности — удовлетворены.

  2. Открытого типа (несбалансированная): Возникает, когда суммарные запасы не равны суммарным потребностям.

    • Избыток предложения (Σai > Σbj): Чтобы привести задачу к закрытому типу, вводится фиктивный потребитель. Его потребность равна разнице избытка (ΣaiΣbj), а стоимости перевозок от всех поставщиков к этому фиктивному потребителю равны нулю, поскольку фактически груз не перевозится.
    • Недостаток предложения (Σai < Σbj): В этом случае вводится фиктивный поставщик. Его запас равен дефициту (ΣbjΣai), а стоимости перевозок от него ко всем потребителям также равны нулю.

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

Методы нахождения опорного плана: Северо-западного угла, минимального элемента и аппроксимации Фогеля

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

  1. Метод северо-западного угла.

    Это самый простой, но наименее эффективный по стоимости метод. Он не учитывает тарифы перевозок.

    • Шаг 1: Начинаем заполнение ячеек транспортной таблицы с самой верхней левой (северо-западной) клетки (x11).
    • Шаг 2: В клетку x11 записываем максимально возможный объем груза, который может быть перевезен, т.е. min(a1, b1).
    • Шаг 3: Вычитаем этот объем из запаса поставщика a1 и потребности потребителя b1.
    • Шаг 4: Если запас поставщика a1 исчерпан (a1 = 0), то вычеркиваем всю 1-ю строку и переходим ко 2-й строке. Если потребность потребителя b1 удовлетворена (b1 = 0), то вычеркиваем весь 1-й столбец и переходим ко 2-му столбцу. Если оба равны нулю, вычеркиваем и строку, и столбец, переходя к следующей доступной клетке.
    • Шаг 5: Продолжаем процесс, двигаясь к следующей доступной клетке либо вправо (если вычеркнут столбец), либо вниз (если вычеркнута строка), пока все запасы не будут распределены, а потребности удовлетворены.

    Пример:
    Поставщики: A1 (100), A2 (200). Потребители: B1 (150), B2 (100), B3 (50).
    Тарифы:

    B1 B2 B3 ai
    A1 2 3 1 100
    A2 4 2 5 200
    bj 150 100 50 Σ = 300

    (Σai = 300, Σbj = 300 — сбалансировано)

    1. x11 = min(100, 150) = 100. A1 запас = 0, B1 потребность = 50. Вычеркиваем строку A1.
    2. x21 = min(200, 50) = 50. B1 потребность = 0, A2 запас = 150. Вычеркиваем столбец B1.
    3. x22 = min(150, 100) = 100. B2 потребность = 0, A2 запас = 50. Вычеркиваем столбец B2.
    4. x23 = min(50, 50) = 50. B3 потребность = 0, A2 запас = 0. Вычеркиваем столбец B3 и строку A2.

    Опорный план: x11 = 100, x21 = 50, x22 = 100, x23 = 50. Остальные xij = 0.
    Общая стоимость: 100⋅2 + 50⋅4 + 100⋅2 + 50⋅5 = 200 + 200 + 200 + 250 = 850.

  2. Метод минимального элемента (наименьших тарифов).

    Более экономически оправданный метод, так как он ориентируется на минимальные затраты.

    • Шаг 1: В транспортной таблице находим клетку с наименьшим тарифом cij.
    • Шаг 2: В эту клетку записываем максимально возможный объем груза, т.е. min(ai, bj).
    • Шаг 3: Вычитаем этот объем из запаса поставщика ai и потребности потребителя bj.
    • Шаг 4: Если запас поставщика ai исчерпан, вычеркиваем i-ю строку. Если потребность bj удовлетворена, вычеркиваем j-й столбец. (Вычеркнутые строки и столбцы больше не участвуют в поиске минимального элемента).
    • Шаг 5: Повторяем шаги 1-4, пока все запасы не будут распределены, а потребности удовлетворены. Если есть несколько клеток с одинаковым минимальным тарифом, выбирается любая из них.

    Пример (используя те же данные):
    Минимальный тариф c13 = 1.

    1. x13 = min(100, 50) = 50. A1 запас = 50, B3 потребность = 0. Вычеркиваем столбец B3.
    2. Следующий минимальный тариф c11 = 2 (или c22 = 2). Выберем c11 = 2.
      x11 = min(50, 150) = 50. A1 запас = 0, B1 потребность = 100. Вычеркиваем строку A1.
    3. Следующий минимальный тариф c22 = 2.
      x22 = min(200, 100) = 100. B2 потребность = 0, A2 запас = 100. Вычеркиваем столбец B2.
    4. Следующий минимальный тариф c21 = 4.
      x21 = min(100, 100) = 100. A2 запас = 0, B1 потребность = 0.

    Опорный план: x11 = 50, x13 = 50, x21 = 100, x22 = 100.
    Общая стоимость: 50⋅2 + 50⋅1 + 100⋅4 + 100⋅2 = 100 + 50 + 400 + 200 = 750.
    Как видим, стоимость ниже, чем при методе северо-западного угла.

  3. Метод аппроксимации Фогеля.

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

Метод потенциалов для нахождения оптимального плана: Подробный алгоритм с циклами пересчета

Получив опорный план, мы должны проверить его на оптимальность. Для этого используется метод потенциалов (или модифицированный распределительный алгоритм).

  1. Найти допустимый (опорный) план.

    Используем один из методов, описанных выше (например, метод северо-западного угла или минимального элемента). Убедитесь, что количество занятых клеток (базисных переменных) равно m + n — 1 (где m — количество поставщиков, n — количество потребителей). Если занятых клеток меньше, план вырожденный, и необходимо искусственно ввести фиктивные перевозки в свободные клетки с нулевыми объемами, чтобы достичь нужного количества базисных переменных.

  2. Определить потенциалы ui и vj.

    Для каждой занятой клетки (xij > 0) должно выполняться условие: ui + vj = cij.
    Чтобы решить эту систему из m+n-1 уравнений с m+n неизвестными, необходимо одному из потенциалов (например, u1) присвоить произвольное значение, чаще всего 0. Затем последовательно вычисляются остальные потенциалы.

  3. Вычислить оценки ΔCij для всех свободных (незанятых) клеток.

    ΔCij = cij — (ui + vj)
    Эти оценки показывают, насколько изменится общая стоимость перевозок, если ввести единицу груза в данную свободную клетку.

  4. Проверка на оптимальность.

    • Если все ΔCij ≥ 0 (неотрицательны), то текущий план является оптимальным. Минимизация достигнута.
    • Если есть хотя бы одно ΔCij < 0 (отрицательное), то текущий план неоптимален. Его можно улучшить.
  5. Улучшение плана (при наличии отрицательных оценок).

    • Выбор вводной клетки: Выбирается свободная клетка с наибольшим по модулю отрицательным значением ΔCij. Эта клетка вводится в базис.
    • Построение замкнутого цикла пересчета: Из выбранной вводной клетки строим замкнутый цикл (многоугольник), вершины которого находятся только в занятых клетках опорного плана (плюс вводная клетка). Движемся только по горизонтали и вертикали, поворачивая на 90 градусов.
    • Расстановка знаков: Начиная с вводной клетки, присваиваем ей знак «+», затем последовательно чередуем знаки «-» и «+» по вершинам цикла.
    • Определение выводимой клетки и изменение объема: Из клеток со знаком «-» выбираем ту, у которой объем перевозки xij минимален. Обозначим этот минимальный объем как θ.
    • Перераспределение:
      • К объемам в клетках со знаком «+» прибавляем θ.
      • Из объемов в клетках со знаком «-» вычитаем θ.
      • Клетка, из которой вычитается θ и которая имела минимальный объем, становится свободной (выводится из базиса).
    • Формирование нового опорного плана.
  6. Повторение процесса.

    Возвращаемся к пункту 2 (определение потенциалов) и повторяем все шаги, пока не будет получен оптимальный план.

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

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

В мире реальных задач не всегда удобно или возможно оперировать дробными числами. Нельзя построить 2.7 моста, купить 1.5 грузовика или нанять 8.3 рабочих. Именно здесь на сцену выходит целочисленное программирование (ЦП) — мощный раздел математического программирования, который позволяет моделировать и решать задачи, где некоторые или все переменные должны принимать только целые значения. Это критически важно для планирования производства, распределения ресурсов, построения маршрутов и многих других прикладных областей.

Специфика целочисленного программирования: Невыпуклость и проблемы округления

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

  1. Невыпуклость допустимого множества.

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

    В целочисленном программировании допустимое множество состоит из отдельных, изолированных точек с целочисленными координатами. Это множество не является выпуклым. Если соединить две допустимые целочисленные точки отрезком, все промежуточные точки на этом отрезке, скорее всего, не будут целочисленными и, следовательно, не будут допустимыми решениями. Эта дискретность и невыпуклость — главная причина сложности ЦП.

  2. Проблемы округления решения непрерывной задачи.

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

    Почему это не работает?

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

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

Метод ветвей и границ: Пошаговое применение для задач ЦП

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

Основные шаги алгоритма:

  1. Формулировка исходной задачи (нулевая задача).

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

  2. Ветвление (Branching).

    Если оптимальное решение нулевой задачи содержит дробные значения для некоторых целочисленных переменных, то выбирается одна из таких переменных (например, xk). На основе ее дробного значения (например, xk = 3.7) создаются две новые подзадачи (ветви):

    • Подзадача 1: xk ≤ ⌊xk⌋ (xk ≤ 3)
    • Подзадача 2: xk ≥ ⌈xk⌉ (xk ≥ 4)

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

  3. Ограничение (Bounding).

    Для каждой новой подзадачи решается соответствующая задача линейного программирования (без учета целочисленности).

    • Если решение этой подзадачи целое и допустимое, оно становится кандидатом на оптимальное целочисленное решение (текущий «рекорд») и используется как нижняя граница для задачи максимизации (или верхняя для минимизации).
    • Если решение подзадачи нецелое, его оптимальное значение используется как граница для этой ветви.
  4. Отсечение (Pruning).

    Ветвь (подзадача) может быть отсечена (дальнейший поиск в ней прекращается), если:

    • Она не имеет допустимых решений (например, ограничения противоречивы).
    • Ее оптимальное значение (граница) хуже, чем текущий «рекорд» (например, для максимизации, если верхняя граница ветви меньше, чем уже найденное целочисленное решение). Это означает, что в этой ветви не найти решения лучше, чем уже имеющееся.
    • Оптимальное решение подзадачи оказалось целочисленным. В этом случае ветвь также отсекается, а найденное целочисленное решение сравнивается с текущим «рекордом».
  5. Повторение.

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

Пример формирования новых ограничений:
Предположим, при решении непрерывной задачи ЛП мы получили x1 = 4.3, x2 = 2.8. Если x1 должна быть целочисленной, мы создаем две ветви:

  • Ветвь 1: x1 ≤ 4
  • Ветвь 2: x1 ≥ 5

Далее каждая из этих подзадач решается, и процесс продолжается.

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

Метод отсечения (Гомори) и другие алгоритмы

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

  1. Метод отсечения (метод Гомори).

    Этот метод, разработанный Ральфом Гомори, является одним из первых теоретически обоснованных алгоритмов для ЦП. Его суть заключается в следующем:

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

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

  2. Комбинаторные методы.

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

    • Динамическое программирование: Применяется для задач, которые можно разбить на последовательность меньших подзадач, где решение каждой подзадачи влияет на последующие. Классический пример — задача о рюкзаке.
    • Метод перебора с возвратом (backtracking): Систематически строит решения, проверяя их на допустимость на каждом шаге и «возвращаясь» назад, если текущая ветвь не ведет к допустимому решению.
    • Специализированные алгоритмы для задач на графах: Например, для задачи коммивояжера (поиск кратчайшего маршрута, проходящего через все города ровно по одному разу) или задачи о максимальном потоке.
  3. Эвристические методы.

    Для особо сложных и крупномасштабных задач ЦП, где точные алгоритмы (как Гомори или ветвей и границ) становятся вычислительно неподъемными (это так называемые NP-трудные задачи), применяются эвристические методы. Они не гарантируют нахождения глобального оптимума, но позволяют найти «достаточно хорошие» решения за разумное время. Примеры включают:

    • Генетические алгоритмы.
    • Метод имитации отжига.
    • Поиск с табуированием.

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

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

Теория игр: Матричные игры — анализ конкурентных стратегий

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

Основные понятия матричных игр: Платежная матрица, чистые стратегии

Матричная игра — это формальная модель конфликта между двумя игроками, где:

  • Игроки: Два субъекта, принимающих решения (например, компании-конкуренты, страны в дипломатических переговорах).
  • Чистые стратегии: Каждый игрок имеет конечный набор возможных действий, или стратегий. Игрок А выбирает одну из m стратегий (A1, A2, …, Am), а игрок В — одну из n стратегий (B1, B2, …, Bn).
  • Платежная матрица (A): Это таблица размером m × n, где каждый элемент aij представляет собой выигрыш игрока А (и соответственно проигрыш игрока В) в случае, если игрок А выбрал стратегию Ai, а игрок В — стратегию Bj. Поскольку игра является игрой с нулевой суммой (выигрыш одного равен проигрышу другого), достаточно одной матрицы для описания всех исходов.

Пример платежной матрицы:

B1 B2 B3
A1 a11 a12 a13
A2 a21 a22 a23

Здесь A1, A2 — стратегии игрока А, B1, B2, B3 — стратегии игрока В. Если А выбирает A1, а В — B2, выигрыш А составит a12.

Цель игрока А — максимизировать свой выигрыш (или минимизировать проигрыш), а цель игрока В — минимизировать проигрыш (или максимизировать свой выигрыш).

Нахождение оптимальных чистых стратегий: Максимин, минимакс и седловая точка

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

  1. Нахождение нижней цены игры (maximin).

    • Для каждой строки (стратегии игрока А) находим минимальный элемент. Этот минимум представляет собой наихудший возможный выигрыш для игрока А, если он выберет эту конкретную стратегию, предполагая, что игрок В будет действовать против него наиболее эффективно.
    • Из всех этих минимальных элементов игрок А выбирает максимальный. Это значение называется максимином (maxi minj aij) и представляет собой гарантированный выигрыш игрока А, которого он может достичь, даже если игрок В будет знать его выбор.
    • Строка, соответствующая максимину, является оптимальной чистой стратегией игрока А.
  2. Нахождение верхней цены игры (minimax).

    • Для каждого столбца (стратегии игрока В) находим максимальный элемент. Этот максимум представляет собой наибольший проигрыш для игрока В, если он выберет эту конкретную стратегию, предполагая, что игрок А будет действовать против него наиболее эффективно.
    • Из всех этих максимальных элементов игрок В выбирает минимальный. Это значение называется минимаксом (minj maxi aij) и представляет собой гарантированный проигрыш игрока В.
    • Столбец, соответствующий минимаксу, является оптимальной чистой стратегией игрока В.
  3. Определение седловой точки.

    • Игра имеет седловую точку, если максимин равен минимаксу (maximin = minimax).
    • Значение в седловой точке (т.е. сам этот элемент платежной матрицы) является ценой игры (V).
    • Стратегии игроков А и В, соответствующие седловой точке, являются оптимальными чистыми стратегиями.
    • Существование седловой точки означает, что для обоих игроков существует стабильная стратегия, отклонение от которой невыгодно.

Пример:
Платежная матрица:

B1 B2
A1 3 -1
A2 -2 2
  1. Для игрока А (строки):

    • min по A1: -1
    • min по A2: -2
    • Максимин = max(-1, -2) = -1. (Оптимальная чистая стратегия A1).
  2. Для игрока В (столбцы):

    • max по B1: 3
    • max по B2: 2
    • Минимакс = min(3, 2) = 2. (Оптимальная чистая стратегия B2).

Так как максимин (-1) ≠ минимакс (2), седловой точки нет, и в этой игре нет оптимальных чистых стратегий. Игрокам придется использовать смешанные стратегии.

Оптимальные смешанные стратегии: Формулы для игр 2×2, графический метод для 2xn/mx2 и редукция к линейному программированию для mxn

Если игра не имеет седловой точки, игрокам выгодно использовать смешанные стратегии. Это означает, что игроки выбирают свои чистые стратегии с определенными вероятностями. Цель — найти такие вероятности, при которых ожидаемый выигрыш (для А) или проигрыш (для В) будет оптимальным.

  1. Формулы для игр 2×2.

    Для матричной игры с платежной матрицей A =

    a11 a12
    a21 a22

    , где нет седловой точки, оптимальные вероятности (p1, p2) для игрока А и (q1, q2) для игрока В, а также цена игры V, определяются по следующим формулам:

    p1 = (a22 - a21) / (a11 - a12 - a21 + a22)
    p2 = 1 - p1

    q1 = (a22 - a12) / (a11 - a12 - a21 + a22)
    q2 = 1 - q1

    V = (a11a22 - a12a21) / (a11 - a12 - a21 + a22)

    Эти формулы применимы, если знаменатель не равен нулю, и гарантируют нахождение единственного оптимального решения в смешанных стратегиях.

  2. Графический метод для игр 2xn или mx2.

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

    Пример для 2xn (игрок А имеет 2 стратегии, игрок В — n стратегий):

    • Шаг 1: Построение функций выигрыша. Пусть игрок А выбирает стратегию A1 с вероятностью p, и A2 с вероятностью (1-p), где 0 ≤ p ≤ 1.
      Для каждой стратегии Bj игрока В, ожидаемый выигрыш игрока А будет линейной функцией от p:
      Ej(p) = a1j ⋅ p + a2j ⋅ (1-p)
    • Шаг 2: Графическое представление. На координатной плоскости строятся все эти линейные функции. Ось абсцисс — p, ось ординат — E.
    • Шаг 3: Определение нижней границы. Игрок А стремится максимизировать свой минимальный ожидаемый выигрыш. Для этого на графике находится нижняя огибающая всех построенных прямых.
    • Шаг 4: Поиск оптимальной точки. Максимальная точка на этой нижней огибающей соответствует оптимальной вероятности p* для игрока А и цене игры V. Эта точка находится на пересечении двух линий.
    • Шаг 5: Определение оптимальных стратегий В. Линии, пересекающиеся в этой точке, указывают на те стратегии игрока В, которые он должен использовать в своей смешанной стратегии. Для их определения часто требуется решить систему уравнений для найденного p*.

    Аналогичный подход применяется для игр mx2, но оси меняются местами.

  3. Редукция к линейному программированию для mxn.

    Для игр общего вида (mxn), где m > 2 и n > 2, нахождение оптимальных смешанных стратегий сводится к решению задачи линейного программирования.

    • Для игрока А: Игрок А стремится максимизировать цену игры V, которую он может гарантировать себе.
      Максимизировать V
      При ограничениях:
      Σi=1m aijpi ≥ V, для каждого j = 1, …, n (ожидаемый выигрыш А должен быть не меньше V при любой стратегии В)
      Σi=1m pi = 1 (сумма вероятностей равна 1)
      pi ≥ 0, для каждого i = 1, …, m
      V — переменная, неограниченная по знаку.
      Для приведения к стандартной форме ЛП и решения, переменную V заменяют на V’ — V» или вводят вспомогательную переменную.

    • Для игрока В: Игрок В стремится минимизировать цену игры V, которую он вынужден заплатить.
      Минимизировать V
      При ограничениях:
      Σj=1n aijqj ≤ V, для каждого i = 1, …, m (ожидаемый проигрыш В должен быть не больше V при любой стратегии А)
      Σj=1n qj = 1 (сумма вероятностей равна 1)
      qj ≥ 0, для каждого j = 1, …, n
      V — переменная, неограниченная по знаку.

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

Экономическое применение теории игр

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

  1. Конкуренция на олигополистических рынках: Модели Курно и Штакельберга, хотя и не являются строго матричными, показывают, как фирмы выбирают объемы производства или цены, учитывая реакции конкурентов. Матричные игры могут моделировать упрощенные сценарии ценовых войн или рекламных кампаний.
  2. Ценообразование: Компании могут использовать теорию игр для определения оптимальной ценовой стратегии в ответ на действия конкурентов. Например, игра, где игроки выбирают «высокую цену» или «низкую цену».
  3. Инвестиционные решения: При принятии решений о вложении средств в новые проекты, компания должна учитывать, как это повлияет на инвестиции конкурентов и рыночную долю.
  4. Аукционы: Теория аукционов, те��но связанная с теорией игр, помогает понять оптимальные стратегии ставок для участников и дизайн аукционов.
  5. Переговоры и конфликты: В управлении теория игр может быть использована для анализа переговорных процессов между профсоюзами и менеджментом, разрешения корпоративных конфликтов или даже для моделирования международных отношений.
  6. Управление ресурсами: Оптимальное распределение ограниченных ресурсов, особенно в условиях конкурентного доступа, может быть смоделировано с помощью игровых подходов.

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

Заключение

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

Мы детально разобрали метод Жордана-Гаусса, позволяющий элегантно решать системы уравнений и обращать матрицы. Погрузились в мир линейного программирования, освоив графический метод, различные формы задач и глубоко проанализировав концепцию двойственности с её важнейшей экономической интерпретацией. Исследовали прикладные аспекты ЛП на примере транспортных задач, освоив методы построения опорного и нахождения оптимального плана. Отдельное внимание уделили особенностям и сложностям целочисленного программирования, разобрав метод ветвей и границ и другие алгоритмы, способные справляться с реальными, дискретными задачами. И, наконец, погрузились в стратегическое мышление теории игр, научившись находить оптимальные чистые и смешанные стратегии в условиях конкуренции.

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

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

  1. Экономико-математические методы и модели в коммерческой деятельности [Электронный ресурс]. URL: https://www.urait.ru/book/ekonomiko-matematicheskie-metody-i-modeli-v-kommercheskoy-deyatelnosti-470077 (дата обращения: 03.11.2025).
  2. Исследование операций — все книги по дисциплине. Издательство Лань [Электронный ресурс]. URL: https://e.lanbook.com/books/discipline/2704 (дата обращения: 03.11.2025).
  3. Исследование операций и методы оптимизации — все книги по дисциплине. Издательство Лань [Электронный ресурс]. URL: https://e.lanbook.com/books/discipline/2706 (дата обращения: 03.11.2025).
  4. Смагин Б. И. Экономико-математические методы. Юрайт. URL: https://www.urait.ru/book/ekonomiko-matematicheskie-metody-495200 (дата обращения: 03.11.2025).
  5. МЕТОД ЖОРДАНА-ГАУССА. URL: http://www.mathprofi.ru/metod_gordana_gaussa.html (дата обращения: 03.11.2025).
  6. Королев А. В. Экономико-математические методы и моделирование. Юрайт. URL: https://urait.ru/book/ekonomiko-matematicheskie-metody-i-modelirovanie-414840 (дата обращения: 03.11.2025).
  7. Метод Жордана-Гаусса для решения систем линейных уравнений. URL: https://studfile.net/preview/1722748/page:3/ (дата обращения: 03.11.2025).
  8. Целочисленное программирование. URL: https://www.studmed.ru/view/nelineynoe-i-celochislennoe-programmirovanie_852d4310d7a.html (дата обращения: 03.11.2025).
  9. Графический метод решения задач линейного программирования — 100task. URL: https://100task.ru/reshenie-matematicheskih-zadach/linejnoe-programmirovanie/graficheskij-metod-resheniya-zadach-linejnogo-programmirovaniya (дата обращения: 03.11.2025).
  10. Графический метод решения ЗЛП. URL: https://www.matburo.ru/tv_sub.php?p=graf_lp (дата обращения: 03.11.2025).
  11. ЭКОНОМИКО- МАТЕМАТИЧЕСКИЕ МЕТОДЫ — Демьянов Д.Г. URL: https://www.studmed.ru/view/ekonomiko-matematicheskie-metody-demyanov-dg_d2a8069542a.html (дата обращения: 03.11.2025).
  12. Попов А. М., Сотников В. Н. Экономико-математические методы и модели. Юрайт. URL: https://urait.ru/book/ekonomiko-matematicheskie-metody-i-modeli-448409 (дата обращения: 03.11.2025).
  13. Целочисленное программирование это — Edunetwork. URL: https://edunetwork.ru/articles/tcelochislennoe-programmirovanie-vvedenie-v-osnovnuyu-koncepciyu/ (дата обращения: 03.11.2025).
  14. Транспортная задача — решение методом потенциалов | Галяутдинов — сайт преподавателя экономики. URL: https://galyautdinov.ru/post/transportnaya-zadacha-metod-potencialov (дата обращения: 03.11.2025).
  15. Сборник примеров подробных решений транспортных задач — Онлайн-калькулятор. URL: https://math.semestr.ru/transport/transport_primer.php (дата обращения: 03.11.2025).
  16. Метод ветвей и границ. Линейное программирование, методы оптимальных решений. URL: https://matburo.ru/tv_sub.php?p=metod_vetvey_granic (дата обращения: 03.11.2025).
  17. Лекция 9 Методы решения транспортной задачи. URL: https://www.studmed.ru/view/lekciya-9-metody-resheniya-transportnoy-zadachi_4198197177e.html (дата обращения: 03.11.2025).
  18. Метод Жордана-Гаусса. URL: https://math-prosto.ru/?page=pages/jordan-gauss/jordan-gauss.php (дата обращения: 03.11.2025).
  19. Решение транспортной задачи линейного программирования. URL: https://www.matburo.ru/tv_sub.php?p=transport_lp (дата обращения: 03.11.2025).
  20. Примеры решений транспортной задачи онлайн — МатБюро. URL: https://www.matburo.ru/tv_sub.php?p=transport_primeri (дата обращения: 03.11.2025).
  21. Решение транспортной задачи линейного программирования: постановка, определение типа, решение — МатБюро. URL: https://www.matburo.ru/tv_sub.php?p=transport_description (дата обращения: 03.11.2025).
  22. Метод ветвей и границ. URL: https://cyberleninka.ru/article/n/metod-vetvey-i-granits-1/viewer (дата обращения: 03.11.2025).
  23. Алгоритм решения транспортной задачи закрытого типа. URL: https://www.studmed.ru/view/algoritm-resheniya-transportnoy-zadachi-zakrytogo-tipa_74591a3297a.html (дата обращения: 03.11.2025).
  24. Пример 1. Транспортная задача. Опорное решение. Метод северо-западного угла. URL: https://www.youtube.com/watch?v=F3x_U17x45Y (дата обращения: 03.11.2025).
  25. Глава 7. ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ. URL: https://www.studmed.ru/view/glava-7-celochislennoe-programmirovanie_774a3f16d7d.html (дата обращения: 03.11.2025).
  26. Лекция 14.docx. URL: https://www.studmed.ru/view/lekciya-14docx_37021b65e9f.html (дата обращения: 03.11.2025).
  27. Реализация метода ветвей и границ для решения общей задачи частично-ц — Mathnet.RU. URL: https://www.mathnet.ru/php/getPDF.phtml?option_lang=rus&id=vm1173 (дата обращения: 03.11.2025).
  28. Глава 1. Транспортная задача: общая постановка, типы и виды моделей 4. URL: https://www.studmed.ru/view/glava-1-transportnaya-zadacha-obschaya-postanovka-tipy-i-vidy-modeley-4_2193b22e196.html (дата обращения: 03.11.2025).
  29. Двойственная задача линейного программирования / Хабр — Habr. URL: https://habr.com/ru/articles/566166/ (дата обращения: 03.11.2025).
  30. Прямая и двойственная задача линейного программирования. URL: https://studfile.net/preview/7946960/page:6/ (дата обращения: 03.11.2025).
  31. Исследование операций — Белорусский государственный университет информатики и радиоэлектроники. URL: https://www.bsuir.by/m/12_100229_1_72183.pdf (дата обращения: 03.11.2025).
  32. математические методы. URL: https://www.vif.ru/matematika/ekon_mat_met_i_mod.htm (дата обращения: 03.11.2025).
  33. ИССЛЕДОВАНИЕ ОПЕРАЦИЙ: ТЕОРИЯ И ПРАКТИКА — Научная библиотека УлГТУ — Ульяновский государственный технический университет. URL: https://venec.ulstu.ru/lib/disk/2017/26.pdf (дата обращения: 03.11.2025).
  34. Экономико-математические методы и модели. URL: https://www.bibliofond.ru/view.aspx?id=51658 (дата обращения: 03.11.2025).
  35. МАТЕМАТИЧЕСКИЕ МЕТОДЫ И МОДЕЛИРОВАНИЕ — Высшая школа экономики. URL: https://www.hse.ru/data/2016/11/17/1113264426/%D0%9A%D0%BE%D1%80%D0%BE%D0%BB%D0%B5%D0%B2_%D0%AD%D0%9C%D0%9C%D0%B8%D0%9C.pdf (дата обращения: 03.11.2025).
  36. Семинар 8. Графический метод решения. URL: http://www.gks.ru/free_doc/new_site/population/demo/sem_8.doc (дата обращения: 03.11.2025).
  37. Графический метод решения задач линейного программирования. URL: https://www.studmed.ru/view/graficheskiy-metod-resheniya-zadach-lineynogo-programmirovaniya_b8c7e096dfc.html (дата обращения: 03.11.2025).
  38. Графический метод решения задач линейного программирования. Область допустимых решений. Линия уровня. Градиент целевой функции. URL: https://e-library.univer.by/wp-content/uploads/2023/10/%D0%A0%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB-2-%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%BE%D0%B5-%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 (дата обращения: 03.11.2025).

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