
- •Порядок выполнения работы
- •Задача о смесях
- •Индивидуальное задание
- •Пример выполнения работы
- •Решение задачи 1а)
- •2. Решение задачи 1 б)
- •Решение задачи 2 а)
- •4. Решение задачи 2 б)
- •Контрольные вопросы
- •Лабораторная работа №2 Целочисленная задача линейного программирования о распиле
- •Краткие теоретические положения
- •Индивидуальное задание
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №3 Классическая транспортная задача
- •Краткие теоретические положения
- •Типы транспортных задач Если суммарные запасы равны суммарным потребностям, т.Е. , то транспортная задача называется закрытой или сбалансированной.
- •Индивидуальное задание
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №4 Решение задач линейного программирования с помощью пакета электронных таблиц exсel
- •Краткие теоретические положения
- •Пример выполнения работы
- •Контрольные вопросы
- •Нахождение оптимальной структуры портфеля ценных бумаг с помощью решения задачи квадратического программирования с использованием пакета excel
- •Краткие теоретические положения
- •Пример выполнения работы
- •Контрольные вопросы
- •Построение математической модели покупательского спроса по статистическим данным
- •Краткие теоретические положения
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №7 Решение задачи о размещении производства с помощью пакета exсel
- •Краткие теоретические сведения
- •Пример выполнения работы
- •Таким образом, изучаемая задача сводится к целочисленной задаче линейного программирования на поиск минимума:
- •Контрольные вопросы
- •Библиографический список
Лабораторная работа №2 Целочисленная задача линейного программирования о распиле
Цель: научиться строить математические модели целочисленных экономических задач в форме задач линейного программирования и решать их с помощью ЭВМ.
Задание: записать задачу об оптимальном распиле A бревен длиной 3 м, обеспечивающем образование максимального числа комплектов, состоящих из брусков m размеров a1,…, am, которые в комплекте находятся в пропорции k1:k2:k3 в виде задачи целочисленного линейного программирования и решить их с помощью ЭВМ.
Краткие теоретические положения
Имеется А брёвен длиной по 3м. Их необходимо распилить на бруски m размеров a1,…, am. Из брусков образуют комплекты, количество брусков в которых к1,…, кm. Определить, какое количество бревен, и по какому способу необходимо распилить для образования максимального количества комплектов.
Пусть имеется n способов распила бревен на бруски и х1,…, хn- количество бревен, распиленных по каждому способу, а хn+1- количество полученных комплектов.
Математическая модель задачи:
(1),
где
-
количество бревен, распиленных всеми
способами;
-
количество брусков размера
,
выпиливаемых из бревна при
-ном
способе распила;
-
количество брусков размера аm,
выпиливаемых всеми возможными способами;
-
количество брусков размера аm,
входящих во все комплекты
Индивидуальное задание
Имеется А брёвен длиной по 3м. Их необходимо распилить четырьмя различными способами на бруски 3-х размеров a1, а2, а3. Из брусков образуют комплекты, количество брусков в которых к1, к2, к3. Определить, какое количество бревен, и по какому способу необходимо распилить для образования максимального количества комплектов.
Числовые параметры индивидуального задания определяются по номеру варианта Nv из таблицы 1 приложений.
Пример выполнения работы
Nv=30- номер варианта.
Для решения задачи строим математическую модель задачи. Из таблицы 1 приложений: A=100, a1=0.6, a2=1.5, a3=2.5, k1=2, k2=1, k3=3.
Определим 4 возможных способа распила бревен длиной 3 м на брусья указанной длины, при каждом способе бревно должно использоваться максимально, т.е. нельзя из остатка выпилить хотя бы один дополнительный брусок. Все эти способы приведены в таблице:
Номер способа распила |
Количество брусьев 0.6 м |
Количество брусьев 1.5 м |
Количество брусьев 2.5 м |
1 |
5 |
0 |
0 |
2 |
2 |
1 |
0 |
3 |
0 |
2 |
0 |
4 |
0 |
0 |
1 |
Таким образом, для
данного набора трех типов брусков
определили 4 возможных способа распила
одного бревна длиной 3 м. Поставим в
соответствие каждому способу xi
неизвестную величину xi
,
,
где xi-
количество бревен, распиленных по
способу i.
Пусть x5-
количество образованных комплектов их
брусков, полученных после распиливания
бревен. Получаем задачу ЦЛП:
z=x5 max – количество комплектов;
x1+x2+x3+x4 100 – общее количество распиленных бревен;
5x1+2x22x5
- количество
брусков по 0.6 м;
x2+2x3x5
- количество брусков по 1.5 м;
x43x5
- количество брусков по 2.5 м;
x1, x2, x3, x40 – условие неотрицательности;
x1, x2, x3, x4- целые - условие целочисленности .
или:
z=x5 max;
x1+x2+x3+x4 100;
5x1+2x2-2x50;
x2+2x3-x50;
x4-3x50;
x1, x2, x3, x40;
x1, x2, x3, x4-целые.
Величина x1+x2+x3+x4 равна количеству распиленных бревен, поэтому первое ограничение возникло в силу ограниченности имеющегося запаса бревен числом A=100. Второе ограничение образовано с использованием таблицы, где приведены все возможные способы распила бревна длиной 3 м на бруски заданных размеров. При этом число 5x1+2x2 равно количеству брусков длиной 0.6 м, образовавшихся в результате распила, а число 2x5=k1x5- это количество брусков данного типа, содержащихся во всех комплектах. Ограничение 5x1+2x2-2x50 показывает количество брусков длиной 0.6 м не вошедших в состав комплектов, т.е. пошедших в остаток. Аналогичный смысл имеют третье и четвертое ограничения. Пятое ограничение - условие неотрицательности переменных. Наконец, шестое ограничение- условие целочисленности, означающее, что количества распиленных брёвен x1, x2, x3, x4- должны быть целыми числами.
Запускаем файл lr2.xls и после завершения работы программы ‘Поиск решения’, получаем
переменные |
x1 |
x2 |
x3 |
x4 |
x5 |
|
||
значения |
10 |
1 |
12 |
75 |
25 |
|||
нижняя граница |
0 |
0 |
0 |
0 |
0 |
Тип задачи |
||
верхняя граница |
0 |
0 |
0 |
0 |
0 |
z |
max
|
|
целевая функция |
0 |
0 |
0 |
0 |
1 |
25 |
|
|
|
целое |
целое |
целое |
целое |
целое |
|
||
Ограничения |
левая часть |
знак |
правая часть |
|||||
бревна |
1 |
1 |
1 |
1 |
0 |
98 |
<= |
100 |
бруски 1 |
5 |
2 |
0 |
0 |
-2 |
2 |
=> |
0 |
бруски 2 |
0 |
1 |
2 |
0 |
-1 |
0 |
=> |
0 |
бруски 3 |
0 |
0 |
0 |
1 |
-3 |
0 |
=> |
0 |
Таким образом, в оптимальном решении:
1) Получено комплектов- x5=25;
-
Распилено бревен по
первому способу: x1=10;
второму: x2=1;
третьему: x3=12;
четвертому: x4=75;
Не распиленных бревен осталось: A- x1- x2- x3- x4=
=100-10-1-12-75=2, т.е. 2 бревна оказались не распилены;
-
Количество остатков (м): 3A-x5(
)=
=3·100--25(20.6+1
1.5+3∙2.5)=45м., где величина
-общая длина брусков в одном комплекте.
При таком способе расчёта остатками считаем:
а) не распиленные брёвна;
б) бруски, не вошедшие в комплекты;
в) остатки, образующиеся после распила брёвен.
5) а) Брусков первого типа, длиной 0.6 м не вошло в комплекты
5x1+2x2-2x5=5∙10+2∙1-2∙25=2;
б) Брусков второго типа, длиной 1.5 м не вошло в комплекты:
x2+2x3-х5=1+2∙12-25=0;
в) Брусков третьего типа, длиной 2.5 м не вошло в комплекты
x4-3x5=75-3∙25=0;.