Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы программного моделирования. Практикум. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
430 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФГБОУ ВПО «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ

УНИВЕРСИТЕТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ»

Ю. В. БУГАЕВ, Л. А. КОРОБОВА, С. Н. ЧЕРНЯЕВА, А. С. ЧАЙКОВСКИЙ

ОСНОВЫ ПРОГРАММНОГО МОДЕЛИРОВАНИЯ

Утверждено редакционно-издательским советом университета

в качестве учебного пособия

ВОРОНЕЖ

2013

1

УДК 681.3 ББК 3973.2-018я7

О-75

Научный редактор профессор Г. В. АБРАМОВ

Р е ц е н з е н т ы:

кафедра правовой информатики, информационного права и естественно-научных дисциплин Российской академии правосудия;

д-р техн. наук В. Ф. БАРАБАНОВ (Воронежский государственный технический университет)

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

Бугаев, Ю. В.

О-75 Основы программного моделирования. Практикум [Текст] : учеб. пособие / Ю. В. Бугаев, Л. А. Коробова, С. Н. Черняева, А. С. Чайковский; Воронеж. гос. ун-т инж. технол. - Воронеж :

ВГУИТ, 2013. – 67 с.

ISBN 978-5-00032-016-7

Учебное пособие разработано в соответствии с требованиями ФГОС ВПО подготовки выпускников по направлению 221700.62 – «Стандартизация и метрология». Они предназначено для закрепления теоретических знаний дисциплин цикла Б2. В пособии изложены методики выполнения практических работ, предложены варианты заданий, даны примеры.

 

1402020000 - 40

УДК 681.3

О

 

 

Без объявл.

ББК 3973.2-018я7

 

 

 

ОК 2 (03) – 2013

 

 

 

ISBN 978-5-00032-016-7

© Бугаев Ю. В., Коробова Л. А.,

 

 

 

 

Черняева С. Н., Чайковский А. С.,

 

 

 

 

2013

 

 

 

 

© ФГБОУ ВПО «Воронеж. гос.

 

 

 

 

ун-т инж. технол.», 2013

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

2

ПРЕДИСЛОВИЕ

Учебное пособие по дисциплине «Основы программного моделирования» разработано для студентов, обучающихся по направлению 221700.62 – «Метрология и стандартизация». Издание включает 6 практических работ, где даны теоретические сведения, методика выполнения работ и задания.

Процесс освоения дисциплины направлен на формирование следующих компетенций:

-способен применять математический аппарат, необходимый для осуществления профессиональной деятельности

(ОК-15);

-способен к приобретению с большой степенью самостоятельности новых знаний с использованием современных образовательных и информационных технологий (ОК-16);

-проводит изучение и анализ необходимой информации, технических данных, показателей и результатов работы, их обобщение и систематизацию, проводить необходимые расчеты с использованием современных технических средств (ПК-17).

3

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

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

Теоретические сведения

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

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

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

Алгоритм выполнения работы

Решить графически:

q = x1− x2 → min

 

ì x1- 2× x2 £1

(1)

ï

- 2× x1+ x2 £ 2

(2)

ï

D : í

3× x1+ x2 £ 3

(3)

ï

ï

 

(4)

îx1 ³ 0, x2 ³ 0,

где D – область допустимых значений переменных x1, x2.

Построим систему координат Х1ОХ2. По неравенству (4) вся область D принадлежит первому координатному углу.

1 этап. Изображение области D на плоскости.

Обозначим D1 – множество точек (х1, х2), удовлетворяющих неравенству (1). Вся плоскость разбивается на множество точек, принадлежащих D1 (условие выполняется) и не принадлежащих D1 (ус-

* Пример оформления титульного листа к практической работе в прил. 1.

4

ловие не выполняется). Построим границу области D1. На плоскости это будет прямая x1 - 2×x2 = 1 или x1 =1 + 2×x2. Ее можно построить по двум точкам: (0; -0,5), (1; 0). Полученная прямая делит плоскость на две полуплоскости. Одна из них удовлетворят условию, а вторая – нет. Чтобы проверить, какая полуплоскость удовлетворяет условию, надо взять любую точку плоскости и подставить ее координаты в неравенство (1). Если неравенство выполняется, то точка находится в полуплоскости, принадлежащей D1. Например, подставим точку (0, 0) - неравенство выполняется, следовательно, D1 находится выше прямой.

Аналогичным образом строим для неравенств (2) и (3). Область D – точки, которые одновременно принадлежат D1, D2 и D3 (рис. 1).

Рис. 1

Справка. Если условие имеет вид равенства, то множество точек, удовлетворяющих ему – это прямая.

Пример:

ìx1+ x2

£ 2,

(5)

ï

- x2

= 0,

(6)

íx1

ï

³ 0, x2 ³ 0.

(7)

îx1

Условия (5) и (7) дают треугольник ОАВ. Второе условие (6) дает прямую х1=х2. Так как условия должны выполняться одновременно, то областью D будет отрезок ОС внутри D1 (рис. 2).

5

Рис. 2

2 этап. Изображение целевой функции.

Способ построения линий равного уровня. Зафиксируем любое значение q, например, q = 0. Получим уравнение x1− x2 = 0 - это будет линия q = 0. Зафиксируем другое значение, например, q = -1. Получим две линии уровня – параллельные прямые. При переходе от линии q = 0 к линии q = -1 целевая функция уменьшается, и т. к. нужно найти минимум, то она “улучшается”, т. е. при перемещении линии уровня в направлении, указанном стрелкой (рис. 3), целевая функция уменьшается.

Для решения задачи ЛП надо найти такую точку, чтобы она лежала на границе области D и через нее проходила линия равного уровня с минимальным q. Очевидно, что линия q = -1 не является оптимумом. Этим свойством будет обладать линия, проходящая через точку b.

Рис. 3

6

Так как точка b находтся на пересечении прямых (2) и (3) (см. рис. 3), то для того чтобы определить ее координаты, необходимо

ì- 2 × x1+ x2 = 2

. В результате

решить сиситему уравнений: í

3× x1+ x2 = 3

î

 

получим координаты b (0.2; 2.4).

Подставив координаты точки b в целефую функцию, найдем ее значение в этой точке: q = 0.2 – 2.4 = -2.2.

Справка. Иногда линия уровня параллельна какой-либо линии ограничения. В этом случае оптимальным решением будет являться целый отрезок.

Пример: q = x1+ x2 → max ì x1+ x2 £ 2,

ïí x1- x2 = 0,

ïîx1 ³ 0, x2 ³ 0.

В данном случае решением будет отрезок [a, b] (рис. 4).

Рис. 4

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

Задание. Исходные данные в прил. 2.

1.Построить область допустимых значений.

2.Построить линии равного уровня.

3.Записать результат.

7

Практическая работа № 2 Задача планирования при ограничениях на ресурсы

Цель работы: изучить решение задач моделирования в условиях ограниченности ресурсов.

Алгоритм выполнения работы

У предприятия есть m видов ресурсов (сырьё, оборудование, раб. сила и т. д) каждая в количестве bi единиц i=1,2,... m. Предприятие выпускает n видов продукции. аij - количество единиц i-го ресурса, необходимого для выпуска 1 ед. j-й продукции. Прибыль от 1 ед. j-й продукции равна сj дол. Продукции j-го вида надо выпускать не менее рj ед.

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

При составлении модели оптимизации необходимо выполнить

3этапа:

1.Определяем значения параметров, которые надо найти (что является входными параметрами). Обозначим их х1, х2, ..., хn.

2.Записываем выражение целевой функции через х1, х2, ..., хn.

3.Записываем выражение для ограничений через х1, х2, ..., хn. Итак:

1.Обозначим хj - объём выпуска j-й продукции (j=1,2,...n).

2.Целевая функция - прибыль. От 1 ед. 1-й продукции она равна с1 $, а от х1 ед. - с1∙х1. Аналогично от выпуска х2 ед. 2-й продукции с2∙х2 и т. д. Суммарная прибыль:

q=с1∙х1 +с2∙х2 +...+сnхn → max.

3.Ограничения.

3.1. Ограничения на объём выпуска. Согласно условию

хj рj.

3.2. Ограничения на ресурсы. На одну ед. 1-й продукции надо затратить а11 ед. 1-го ресурса., а на выпуск х1 ед. 1-й продукции надо

а11х1 1-го ресурса

а11 х1 + а12 х2 +...+а1n хnb1

8

аm1х1 + аm2х2 +...+аmn хn bm.

3.3. По физическому смыслу

хj≥0.

Замечание. Часто в таких задачах исходные данные имеют различные размерности, надо привести всё к одной.

Пример расчета

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

 

 

 

 

Таблица

Марка

Квалифициро-

Неквалифици-

Сырье,

Прибыль,

 

авто

ванный труд, ч

рованный

дол.

дол.

 

 

 

труд, ч

 

 

 

 

 

 

 

 

 

"Вольво-850"

50

30

1500

1000

 

"Вольво-940"

20

40

500

500

 

На автозаводе работают 1000 квалифицированных и 900 неквалифицированных рабочих, каждый из которых работает 40 ч в неделю. Затраты на сырье не должны превышать 900 тыс. дол. в неделю. Рабочие, осуществляющие отправку автомобилей из цеха, работают по пятидневной рабочей неделе с производительностью 210 автомобилей в день. Какой объем продукции даст максимальную прибыль?

Решение 1. Определяем входные параметры.

x1 – количество автомобилей "Вольво-850", выпускаемых в неделю;

x2 – количество автомобилей "Вольво-940", выпускаемых в неделю.

2.Выражение для целевой функции. q = 1000 × x1+ 500 × x2 .

3.Ограничения.

50× x1+ 20× x2 £

1000 ×

40

=

40.000

-

ограничение по ква-

 

рабочих

часов в неделю

 

часов в неделю

 

 

лифицированному труду;

 

 

-

ограничение по не-

30× x1+ 40× x2 £

900 ×

40

=

36.000

 

рабочих

часовв неделю

 

часов в неделю

 

 

9

квалифицированному труду;

1500× x1+ 500× x2 £ 900.000 - ограничение по сырью;

 

$ в неделю

 

x1 + x2 £ 210 ×

5

= 1050 - ограничение на доставку

авто в день

дней в неделю

авто в неделю

авто.

4. Решение задачи в MathCAD.

Записываем начальные значения искомых переменных и выражение для целевой функции с помощью панели «Арифмети-

ка» (рис. 1): x1:= 1; x2 := 1; q(x1, x2) := 100 × x1 + 500 × x2

Рис. 1

В блоке Given записываем ограничения:

x1

³ 0; x2 ³ 0;

50

× x1 + 20 × x2 £ 40000 ;

30

× x1 + 40 × x2 £ 36000 ;

1500 × x1 + 500 × x2 £ 900000 ;

x1 + x2 £ 1050 .

Затем переменным x1 и x2 присваиваем минимум (максимум) целевой функции q(x1,x2) при помощи функции Minimaze (Maximaze), которая находится на панели инструментов (рис. 2).

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]