Математическое и линейное программирование

Буравлева О.Ю.

Математические методы в коммерческой деятельности: Учеб.-метод. пособие.

Часть 1/О.Ю.Буравлева. Тамбов: Изд-во Тамб.гос. техн. ун-та, 2005. с.

Рассмотрены теоретические и практические вопросы раздела «Математическое и линейное программирование» в курсе «Математика в экономике».

Предназначено студентам специальности 080301 «Коммерция (торговое дело)» в качестве дополнительной литературы для самостоятельной работы при изучении курса «Математика в экономике».

УДК 330.83(07)

ББК У.в 611я73

© Буравлева О.Ю., 2005

© Тамбовский государственный

технический университет (ТГТУ), 2005

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

1. МАТЕМАТИЧЕСКОЕ И ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ…………………5

2. СИМПЛЕКСНЫЙ МЕТОД РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ…………………………………………………………………..11

2.1 Нахождение начального опорного решения и переход к новому опорному решению………………………………………………………………………………………. 12

2.2 Преобразование целевой функции при переходе от одного опорного решения к другому……………………………………………………………………………………….. 14

2.3 Улучшение опорного решения………………………………………………………. 15

2.4 Алгоритм симплексного метода……………………………………………………... 16

3.МЕТОД ИСКУССТВЕННОГО БАЗИСА…………………………………………….....20

3.1 Особенности алгоритма метода искусственного базиса……………………………..22

4.ТЕОРИЯ ДВОЙСТВЕННОСТИ………………………………………………………….26

4.1 Виды математических моделей двойственных задач………………………………...26

4.2 Общие правила составления двойственных задач……………………………………28

5.ТРАНСПОРТНАЯ ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ КАК ЧАСТНЫЙ СЛУЧАЙ ОБЩЕЙ РАСПРЕДЕЛИТЕЛЬНОЙ ЗАДАЧИ………………...31

5.1 Общая характеристика распределительной задачи………………………………….. 31

5.2 Транспортная задача…………………………………………………………………….32

5.3 Транспортная задача с ограничениями на пропускную способность……………….47

5.4 Транспортная задача по критерию времени…………………………………………. 52

ЛИТЕРАТУРА…………………………………………………………………………………55

ВВЕДЕНИЕ

Дисциплина «Математика в экономике» является региональной составляющей блока естественнонаучных дисциплин Государственного образовательного стандарта второго поколения подготовки специалистов коммерции по специальности 080301 – Коммерция (торговое дело).

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

Пособие будет полезным для студентов при самостоятельной работе над конкретными заданиями по курсу «Математика в экономике».

МАТЕМАТИЧЕСКОЕ И ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ.

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

Построение математической модели экономической задачи включает следующие этапы: 1) выбор переменных задачи; 2) составление системы ограничений; 3) выбор целевой функции.

Переменными задачиназываются величины математическое и линейное программирование - student2.ru , которые полностью характеризуют экономический процесс. Их обычно записывают в виде вектора A=( математическое и линейное программирование - student2.ru ).

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

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

Общая задача математического программирования формулируется следующим образом: найти экстремум целевой функции

Z математическое и линейное программирование - student2.ru (X)= математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru + математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru

математическое и линейное программирование - student2.ru

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

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

Множество допустимых решений (планов) задачи образует область допустимых решений (ОДР).

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

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

Рассмотрим математические модели простейших экономических задач: задача о диете и задача о составлении плана производства.

Задача о диете.

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

Предположим, что в нашем распоряжении имеется n продуктов питания (сено, зерно, комбикорм, соль и т.д.). Обозначим эти продукты через математическое и линейное программирование - student2.ru Предположим, что математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru есть стоимость единицы веса (например, стоимость одного килограмма) продукта математическое и линейное программирование - student2.ru

Рациональная диета должна доставлять животному определенные компоненты (белки, жиры, углеводы, витамины, микроэлементы и т.д.). Обозначим эти компоненты через математическое и линейное программирование - student2.ru = математическое и линейное программирование - student2.ru Тогда можно составить таблицу – справочник, указывающую, какое количество каждого компонента имеется в единице веса каждого продукта (табл. 1.1.).

Таблица 1.1.

  F математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru F математическое и линейное программирование - student2.ru F математическое и линейное программирование - student2.ru F математическое и линейное программирование - student2.ru
N математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru
N математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru
математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru
N математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru a математическое и линейное программирование - student2.ru


Таким образом, величина математическое и линейное программирование - student2.ru есть количество i-го компонента, содержащегося в единице веса j-го продукта. Матрица A= математическое и линейное программирование - student2.ru называется матрицей питательности.

Рацион кормления должен указать, какое количество x математическое и линейное программирование - student2.ru i-го продукта должно быть скормлено животному за определенный срок (скажем, за месяц). Он означает, что за этот срок животное должно получить единиц первого математическое и линейное программирование - student2.ru продукта, единиц второго, математическое и линейное программирование - student2.ru единиц n-го продукта.

Что же требуется от рациона? Во-первых, должны быть выполнены определенные медицинские требования, которые заключаются в том, что за указанный срок животное должно получить не менее определенного количества каждого компонента (не менее определенного количества белков, жиров, витаминов и т.д.). Обозначим через b математическое и линейное программирование - student2.ru то минимальное количество j-го компонента, которое должно получить животное. Тогда рацион кормления должен удовлетворять ограничениям:

математическое и линейное программирование - student2.ru (1.1)

Кроме того, очевидно, что все переменные математическое и линейное программирование - student2.ru неотрицательны, т.е.

математическое и линейное программирование - student2.ru (1.2)

Пусть стоимость единицы веса i-го продукта равна математическое и линейное программирование - student2.ru .Тогда весь наш рацион будет стоить:

математическое и линейное программирование - student2.ru (1.3)

Мы, естественно, хотели бы понести минимальные затраты на содержание животных. Поэтому задача приобретает вид: найти рацион минимальной стоимости при выполнении медицинских ограничений (1.1) и естественных ограничений (1.2). Математически это выглядит так:

математическое и линейное программирование - student2.ru (1.4)

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

Рассмотрим теперь другую классическую задачу.

Задача о составлении плана производства.

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

Для производства этих товаров приходится использовать некоторые сырьевые ресурсы. Пусть число этих ресурсов есть m; обозначим их через математическое и линейное программирование - student2.ru .

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

Таблица 1.2.

  математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru
математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru
математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru
математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru
математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru

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

математическое и линейное программирование - student2.ru

(1.5)
при очевидных условиях неотрицательности переменных математическое и линейное программирование - student2.ru :

математическое и линейное программирование - student2.ru .

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

математическое и линейное программирование - student2.ru математическое и линейное программирование - student2.ru (1.6)

математическое и линейное программирование - student2.ru .

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

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

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

1. Строится область допустимых решений.

2. Строится вектор нормали с точкой приложения в начале координат.

3. Перпендикулярно вектору проводится одна из линий уровня, например, линия уровня, проходящая через начало координат.

4. Линия уровня перемещается до положения опорной прямой. На этой прямой и будет находится максимум или минимум функции.

В зависимости от вида ОДР и целевой функции Z(X) задача может иметь единственное решение, бесконечное множество решений или не иметь ни одного оптимального решения.

Графическим методом можно решать также задачи линейного программирования, имеющие каноническую форму и удовлетворяющую условию n-r математическое и линейное программирование - student2.ru , где n – число неизвестных системы, r – ранг системы векторов условий (число линейно независимых уравнений системы).

Пример. Решить задачу линейного программирования графическим методом:

математическое и линейное программирование - student2.ru

Р е ш е н и е. Изобразим на плоскости систему координат математическое и линейное программирование - student2.ru и покажем граничные прямые области допустимых решений (номера прямых соответствуют их порядковому номеру в системе).

математическое и линейное программирование - student2.ru

Область допустимых решений определяется многоугольником OABCD (рис. 1.1).

математическое и линейное программирование - student2.ru

Для линий уровня математическое и линейное программирование - student2.ru строим нормальный вектор математическое и линейное программирование - student2.ru . Перпендикулярно вектору математическое и линейное программирование - student2.ru построим одну из линий уровня (на рис. 1.1 она проходит через начало координат). Так как задача на максимум, то перемещаем линию уровня в направлении вектора математическое и линейное программирование - student2.ru до опорной прямой. В данном случае опорной прямой является прямая, проходящая через точку пересечения граничных прямых математическое и линейное программирование - student2.ru и математическое и линейное программирование - student2.ru , т.е. через точку B= математическое и линейное программирование - student2.ru . Для определения координат точки B решаем систему уравнений:

математическое и линейное программирование - student2.ru

Получаем математическое и линейное программирование - student2.ru . Это и будет оптимальное решение данной задачи, которому соответствует максимальное значение целевой функции max Z(X) = 2 * 3 + 4 * 6 = 30.

Наши рекомендации