- •Элементы математического программирования
- •Цели и задачи дисциплины, ее место в учебном процессе
- •Содержание дисциплины
- •Практические занятия
- •Лабораторные занятия
- •Общие рекомендации студенту-заочнику по работе над курсом «Математическое программирование»
- •Введение
- •Основные формы и задачи линейного программирования
- •Типовые задачи линейного программирования Задача о планировании производства
- •Задачи для самостоятельного решения
- •Задача о рационе
- •Задачи для самостоятельного решения
- •Задача прикрепления потребителей к поставщикам (транспортная задача)
- •Задачи для самостоятельного решения
- •Задача о рациональном раскрое
- •Задачи для самостоятельного решения
- •Графический метод решения задач
- •Задачи для самостоятельного решения
- •Симплекс - алгоритм
- •Составление начального опорного плана.
- •Пример использования симплекс-метода (без таблиц)
- •Задачи для самостоятельного решения
- •Метод искусственного базиса
- •Задачи для самостоятельного решения
- •Двойственная задача
- •Задачи для самостоятельного решения
- •Двойственный симплексный метод
- •Транспортная задача
- •Пример решения задачи линейного программирования в ms Excel.
- •Метод решения задачи об оптимальных перевозках средствами Ms Excel
- •Задания для домашней контрольной работы
- •1. Математическая модель задачи Составить (не решать) математические модели приведенных задач
- •2. Виды задач линейного программирования, геометрический метод решения
- •3 . Двойственные задачи
- •4. Транспортная задача
- •5. Симплексный метод решения задач
- •Библиографический список.
Задача о рациональном раскрое
На швейной фабрике ткань может быть раскроена несколькими способами для изготовления нужных деталей швейных изделий. Пусть при j-ом варианте раскроя (j=1,…,n) 100 м2 ткани изготовляется bij деталей i-го вида (i=1,…,m), а величина отходов при данном варианте раскроя равна cj м2. Зная, что деталей i-го вида следует изготовлять Bi штук, требуется раскроить ткань так, чтобы было получено необходимое количество деталей каждого вида при минимальных общих отходах.
Составим математическую модель задачи. Предположим, что по j-ому варианту раскраивается xj сотен м2 ткани. Поскольку при раскрое 100 м2 ткани по j-ому варианту получается bij деталей i-го вида, по всем вариантам раскроя из используемых тканей будет получено
деталей i-го вида. Так как должно быть изготовлено Bi деталей данного вида, то
Общая величина отходов по всем вариантам раскроя ткани составит
.
Таким образом, приходим к следующей математической задаче: найти минимум функции F при условиях неотрицательности переменных xj:
Или в краткой записи
Пример. На пилораме имеется большое количество досок длиной 3 м. Их следует распилить на заготовки двух видов: длиной 1,2 м и 0,9 м. Причем заготовок каждого вида должно быть получено не менее 50 и 81 штук соответственно.
Каждая доска может быть распилена несколькими способами:
на 2 заготовки по 1,2 м;
на 1 заготовку по 1,2 м и 2 заготовки по 0,9 м;
на 3 заготовки по 0,9 м.
Найти число досок, распиливаемых каждым способом так, чтобы на заготовки любого вида пошло наименьшее число досок.
Обозначим через x1, x2 ,x3 количество досок, распиливаемых 1-ым, 2-ым и 3-им способом соответственно. Тогда целевая функция будет записана в виде:
F= x1 + x2 + x3 →min
при соответствующих ограничениях по количеству заготовок длиной 1,2 м и 0,9 м:
Задачи для самостоятельного решения
На мебельной фабрике требуется раскроить 5000 прямоугольных листов фанеры размером 45 м каждый, с тем чтобы получить два вида прямоугольных деталей: деталь А должна иметь размер 22 м, деталь В – размер 13 м. Необходимо, чтобы деталей А оказалось не меньше, чем деталей В. каким образом следует производить раскрой, чтобы получить минимальное (по площади) количество отходов?
Для серийного производства некоторого изделия требуются комплекты заготовок профильного проката. Каждый комплект состоит из двух заготовок длиной 1800 мм и пяти заготовок длиной 700 мм. Как следует раскроить 770 полос проката стандартной длины 6000 мм, чтобы получить наибольшее количество указанных комплектов?
На предприятии из листов металла размером 510 м требуется выкраивать заготовки типа А и В, имеющих размеры соответственно 41 м и 23 м. Известны потребности в этих заготовках – нужно выкроить по 1600 заготовок каждого типа. Необходимо предложить такой план раскроя, который позволит выполнить плановое задание с минимальными затратами материала.
Графический метод решения задач
Графически решаются задачи:
Имеющие не более двух переменных;
Заданные в каноническом виде с числом независимых переменных не более двух.
Допустимая область:
Область допустимых значений пуста (рис. 1);
Выпуклое многоугольное множество (ограниченное (рис. 2) или неограниченное (рис. 3))
Число оптимальных планов:
ни одного оптимального плана (вследствие неограниченности целевой функции (рис. 4) или пустоты допустимой области (рис. 1));
единственное решение (последняя точка касания целевой функции с многоугольником решений);
бесконечно много решений (если последнее касание - отрезок).
Этапы решения:
Решение задачи линейного программирования графическим методом включает следующие этапы:
На плоскости X1OX2 строят прямые, уравнения которых получаются в результате замены в ограничениях знаков неравенств на знаки точных равенств.
Находят полуплоскости, определяемые каждым из ограничений задачи.
Строят многоугольник решений.
Строят вектор
который указывает направление возрастания
целевой функции.Строят начальную прямую целевой функции
и затем передвигают ее в направлении
вектора
до крайней угловой точки многоугольника
решений. В результате находят точку, в
которой целевая функция принимает
максимальное значение, либо множество
точек с одинаковым максимальным
значением целевой функции, если начальная
прямая сливается с одной из сторон
многоугольника решений, либо
устанавливается неограниченность
сверху функции на множестве планов
(
).Определяют координаты точки максимума функции и вычисляют значение целевой функции в этой точке.
Минимальное
значение линейной функции находится
путем передвижения начальной прямой
в направлении, противоположном вектору
.
Примечание: Если начальная прямая сливается с одной из сторон многоугольника решений, то множество оптимальных решений записывают как линейную выпуклую комбинацию углов точек отрезка по формуле:
,
где
,
А и В начальная и конечная точка отрезка.
Подставляя
любые значения
от 0 до 1, получают координаты множества
точек отрезка АВ,
в каждой из которых целевая функция
принимает максимальное (минимальное)
значение.
Задача. Туристская фирма в летний сезон обслуживает в среднем 7500 туристов и располагает флотилией из двух типов судов, характеристики которых представлены в таблице 7.
Таблица 7
Показатели |
Судно |
|
I |
II |
|
Пассажировместимость, чел |
2000 |
1000 |
Горючее, т |
12000 |
7000 |
Экипаж, чел |
250 |
100 |
В месяц выделяется 60.000 т горючего. Потребность в рабочей силе не превышает 700 человек.
Определите количество судов I и II типа, чтобы обеспечить максимальный доход, который составляет от эксплуатации судов I типа 20 млн руб., а II типа – 10 млн. руб. в месяц.
Составим математическую модель данной задачи. Для удобства все данные разделим на 1000. Обозначим: х1 ‑ количество судов I типа, х2 – количество судов II типа. Доход от эксплуатации этих судов составляет 20 х1 + 10 х2 тыс. руб. в месяц. Этот доход необходимо по условиям задачи максимизировать. Беспредельному увеличению количества судов препятствуют определенные ограничения. Ограничено количество горючего, которое выделяется для работы судов, отсюда неравенство: 12 х1 + 7 х2<=60 тыс. тонн. Ограничено потребность в рабочей силе, не более 700 человек, поэтому 0,25 х1 + 0,1 х2 <=0,7 человек. И в то же время количество судов I и II типов должны обеспечить перевозку 2500 туристов в месяц, т.е. 2 х1 + х2>=2,5 человек. Кроме того, количество судов – неотрицательное число, поэтому х1 >=0, х2 >=0.
Итак, математическая модель данной задачи записывается так:
Так как модель имеет только две переменные, то данную задачу можно решить геометрическим методом.
Построим на плоскости Х1ОХ2 многоугольник допустимых решений задачи. Для этого в неравенствах системы ограничений знаки неравенств заменим на знаки точных равенств:
(1.3.1)
Построив полученные граничные прямые, найдем соответствующие полуплоскости допустимых значений переменных и их пересечение (рис. 1.3.1). Направления стрелок от каждой граничной прямой определяется путем непосредственной подстановки в неравенство 1.3.1 координат произвольно взятой точки, например (0,0), и при удовлетворении данного неравенства направляем стрелки в сторону контрольной точки, в противном случае ‑ наоборот.
Полученное
пространство решений есть многоугольник
ABCD.
Для нахождения минимума и максимума
целевой функции строим начальную прямую
и вектор – градиент
.
Координатами вектора
являются
коэффициенты целевой функции при
переменных x1
и x2.
Для построения графика целевой функции
задаем произвольное значение
.
Если
,
то прямая проходит через начало координат.
Для ее построения, полагая x1=1,
получим
x2=-2,
а при x2=1,
получим x1=-1/2.
Полагая
,
таким же образом построим линию целевой
функции.
Таким
же образом построим на графике ряд
параллельных прямых, рис 1.3.1, где вектор
– градиент
показывает направление возрастания
целевой функции.
Максимальное значение будет в точке D. Так как точка D получена в результате пересечения прямых (2) и (4), то для определения ее координат решим систему уравнений:
Максимальное значение целевой функции
=20x1+10x2=20
* 0 + 10 * 7=70 (млн. руб.)
Таким образом, во флотилии туристской фирмы суда первого типа не должны использоваться вообще (x1=0), а суда второго типа необходимы в количестве 7 штук (x2=7). Доход в этом случае будет максимальным и составит 70 млн. руб. в месяц.
