ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «В...
46 downloads
221 Views
730KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «Воронежская государственная лесотехническая академия»
ЭКОНОМИКО-МАТЕМАТИЧЕСКОЕ И КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ Методические указания к выполнению лабораторных работ для студентов специальности 080502 (060800) – Экономика и управление на предприятии (лесной комплекс)
Воронеж 2006
УДК 519.8:657.1 Стариков, А.В. Экономико-математическое и компьютерное моделирование [Текст] : метод. указания к выполнению лабораторных работ для студентов специальности 080502 (060800) – Экономика и управление на предприятии (лесной комплекс) / А.В. Стариков, И.С. Кущева ; Федеральное агентство по образованию, Воронеж. гос. лесотехн. акад. – Воронеж, 2006. – 72 с.
Рецензент д–р техн. наук, проф. кафедры информационных и управляющих систем ВГТА В.Ф. Лебедев
3 ОГЛАВЛЕНИЕ Введение …………………………………………………………………
4
Лабораторная работа №1. Методика построения экономикоматематической модели и поиск оптимального решения задачи линейного программирования (ЗЛП) ……………………..
5
Лабораторная работа №2. Использование табличного процессора Excel для поиска оптимальных решений задач экономики ……..
18
Лабораторная работа №3. Методика построения экономикоматематической модели и поиск оптимального решения транспортной задачи ……………………………………………….
28
Лабораторная работа №4. Методика построения экономикоматематической модели и поиск оптимального решения задачи о назначениях ……………………………………………………...
43
Лабораторная работа №5. Методы сетевого планирования ……….
47
Лабораторная работа №6. Понятие прогнозирования и элементы регрессионного анализа ………………………………………
59
Указания по оформлению отчета по лабораторной работе ………
71
Библиографический список …………………………………………..
72
4 ВВЕДЕНИЕ Методические указания предназначены для студентов специальности 080502 (060800) – Экономика и управление на предприятии (лесной комплекс), изучающих дисциплину «Экономико-математическое и компьютерное моделирование». Данные методические указания содержат тексты шести лабораторных работ. Выполнению каждой работы должно предшествовать ознакомление ее с теоретической частью, помещенной, как правило, в начале работы. Студентам надлежит вести рабочую тетрадь, в которой должны отражаться результаты и ход выполнения лабораторных задач, а также основные теоретические выкладки, используемые при этом. Лабораторная работа №1 рассматривает основные методические положения по составлению математических моделей и решение задач оптимального планирования производства графическим методом, а также возможность исследования чувствительности полученного оптимального решения. Лабораторная работа №2 знакомит студентов с технологией использования табличного процессора Microsoft Excel для нахождения оптимальных решений. Лабораторная работа №3 рассматривает вопросы нахождения оптимального плана перевозок. В ходе выполнения студенты знакомятся с методикой составления опорного плана перевозок тремя методами: СЗУ, наименьшей стоимости и Фогеля, а затем определением оптимального плана перевозок методом потенциалов. Также рассматривается решение данной задачи с использованием процедуры «Поиск решений» (Solver). Лабораторная работа №4 знакомит с составлением математической модели и решением задачи о назначениях − частного случая задачи распределительного типа. Лабораторная работа №5 посвящена вопросам сетевого планирования, в ней описана методика построения сетевого графика, расчета критических путей, временных параметров событий и работ. Лабораторная работа №6 рассматривает вопросы прогнозирования в экономике и связанные с этим понятия и методы. Студенты на практике овладевают одним из часто используемых методов – линейной регрессией, решив с помощью Microsoft Excel нескольких типовых задач.
5 ЛАБОРАТОРНАЯ РАБОТА №1 (4 часа) Тема работы: Методика построения экономико-математической модели задачи линейного программирования (ЗЛП). Решение двумерных ЗЛП графическим методом. Анализ и интерпретация результатов решения ЗЛП. Содержание работы и порядок ее выполнения Лабораторная работа включает в себя задачу составления оптимального по прибыли плана выпуска двух видов мебельных изделий и рассчитана на 4 часа лабораторных занятий. Условия задач выдаются студентам преподавателем, руководящим выполнением лабораторных работ. На первом занятии студент занятии знакомится с содержанием работы, а во внеаудиторное время изучает необходимую литературу, составляет по исходным данным математическую модель задачи, выполняет ее решение графическим методом, анализирует полученные результаты, проводит анализ чувствительности решения. По проделанной работе составляется отчет. Методические указания по составлению и оформлению отчета о лабораторной работе изложены в конце методических указаний. На втором занятии студент отчитывается по теоретической части лабораторной работы, предоставляет отчет о выполненной работе преподавателю, и защищает полученные результаты. Методика построения математической модели ЗЛП Линейное программирование – раздел исследования операций, занимающийся решением таких задач на отыскание экстремальных значений, для которых классические методы математического анализа оказываются непригодными. К их числу относятся задачи рационального использования сырья и оборудования, составления оптимального плана перевозок, работы транспорта и ряд других, относящихся к области оптимального планирования. Условие задачи. Предприятию (участку, цеху, отрасли) планируется выпуск n видов продукции (товаров, изделий) Т1,...,Тj‚,...,Тn. Для выпуска этих видов продукции необходимо использовать m видов ресурсов (сырья, оборудования и др.). В начале планового периода эти ресурсы выделены предприятию в количествах b1,...,bi,...,bm соответственно. На производство одного изделия Тj расходуется aij ресурсов i–го вида. От реализации одного изделия Тj предприятие получает прибыль pj=cj–sj, где cj – отпускная оптовая цена изделия Тj, а sj – себестоимость. Найти такой план выпуска продукции, чтобы суммарная прибыль от реализации продукции была наибольшей. Для составления математической модели этой задачи неизвестные количества изделий каждого j–го вида обозначаются через хj, j=1,2,...,n. Тогда
6 цель задачи – условие получения максимальной суммарной прибыли – можно записать следующим образом: n
Z = p1 x1 + K + p j x j + K + pn xn = ∑ p j x j → max .
(1.1)
j =1
Из (1.1) видно, что суммарная прибыль линейно зависит от искомых объемов производства различных видов продукции. Величину Z называют целевой функцией (критерием эффективности) задачи. Анализ целевой функции (ЦФ) показывает, что увеличение Z имеет место при увеличении любого из хj, однако такое увеличение возможно лишь в пределах, ограниченных выделенными на производство (ограниченными) ресурсами. Поэтому элементы искомого решения xj нельзя выбирать произвольно: суммарное количество i–го ресурса, затраченное на производство всех n видов продукции, не должно превышать имеющегося количества bi этого ресурса. Таким образом, можно записать следующую систему неравенств: n ... ... a x a x a x a x + + + + + = ∑ a1 j x j ≤ b1 1j j 1n n 11 1 12 2 j =1 ... ... ... ... n ... ... a x a x a x a x + + + + + = ∑ aij x j ≤ bi i1 1 i 2 2 ij j in n j =1 ... ... ... ... n a x + a x + ... + a x + ... + a x = ∑ a x ≤ b m1 1 m2 2 mj j mn n mj j m j =1
(1.2)
Наконец, определяемый объем производства не может быть отрицательным (продукция или производится, тогда xj>0, или не производится, тогда хj=0). Следовательно, систему неравенств (1.2), носящую название системы ограничений, следует дополнить следующими ограничениями, называемыми естественными или тривиальными:
x1 ≥ 0 ... x j ≥ 0 ... xn ≥ 0
(1.3)
Сокращенно систему ограничений (1.2) можно записать в виде n
∑ aij x j ≤ bi ,∀i, i = 1, 2, ..., m, j =1
(1.4)
7 где символ ∀ называется квантором общности и заменяет слова «для всех». Аналогично систему ограничений (1.3) можно представить в виде xi ≥ 0, ∀j, j = 1, 2, ..., n . (1.5) Соотношения (1.1), (1.2), и (1.3) представляют математическую модель задачи поиска оптимального по прибыли плана выпуска продукции из имеющихся ресурсов, или задачи оптимального использования ресурсов. При этом неравенства (1.2) и (1.3) составляют систему ограничений, а выражение (1.1) – целевая функция, служащая для оценки качества решения, – формализует критерий эффективности. В рассмотренной формализованной постановке задача поиска оптимального по прибыли плана использования ресурсов формулируется так: найти вектор, т.е. упорядоченный набор неотрицательных значений xj, удовлетворяющий системе ограничений (1.2) и обеспечивающий максимальное значение линейной функции Z (1.1). В том случае, когда ЗЛП содержит всего две неизвестные величины x1 и x2, может использоваться простой и наглядный графический метод. Если среди ограничений (1.2) встречаются как уравнения (равенства), так и неравенства, задача линейного программирования называется общей. Если же среди ограничений (1.2) имеются только неравенства, задача линейного программирования называется стандартной. Задачу линейного программирования называют канонической, если система ограничений (1.2) содержит только уравнения. Упорядоченный набор чисел α1,α2,...,αn называется решением системы, содержащей n неизвестных, если в результате подстановки этих чисел на место соответствующих неизвестных х1,х2,...,xn каждое уравнение системы обращается в тождественное равенство. Если система уравнений имеет хотя бы одно решение, она называется совместной; она называется несовместной, если не имеет ни одного решения. Совместная система называется определенной, если она имеет единственное решение, если более одного решения – неопределенной. Именно с такими системами уравнений приходится иметь дело в задачах оптимального планирования. Две системы линейных уравнений с одинаковым числом неизвестных называются эквивалентными, если они обе несовместны или обе имеют одни и те же решения. В процессе решения систем линейных уравнений над системой разрешается проводить преобразования, переводящие ее в эквивалентную исходной. Во-первых, обе части любого уравнения системы можно умножать на одно и то же число, не равное нулю; во-вторых, к обеим частям любого уравнения системы можно прибавлять соответствующие части другого уравнения системы, предварительно умноженные на произвольное число.
8 Используя указанные преобразования, можно любое неизвестное исключить из всех уравнений системы, кроме одного уравнения. Система линейных уравнений называется системой с базисом, если в каждом уравнении системы содержится неизвестное, отсутствующее во всех других уравнениях системы. Эти неизвестные называются базисными, а их совокупность образует базис системы. Неизвестные, не входящие в базис, называются свободными. Система с базисом всегда совместна, т.е. имеет хотя бы одно решение. Применяя эквивалентные преобразования, можно найти системы с другими базисами, эквивалентные исходной системе уравнений. Совокупность неотрицательных чисел х1, х2, ..., хn, удовлетворяющих системе ограничений (1.2), называется допустимым планом задачи линейного программирования. Множество всех допустимых решений образует область допустимых решений в n–мерном пространстве. Каждому допустимому решению соответствует определенное значение целевой функции (1.1). Допустимое решение, при котором целевая функция достигает экстремума (максимума или минимума), называется оптимальным решением (оптимальным планом) задачи. Если задача линейного программирования имеет одно или множество оптимальных решений, она называется разрешимой. Если задача не имеет ни одного оптимального решения, она называется неразрешимой. Пример построения экономико-математической модели ЗЛП Задача. Производственному участку поручено выпускать мебель двух видов: кровати и шкафы, на производство которых выделены определенные сырьевые и производственные ресурсы (табл. 1.1). Здесь единица размерности прибыли «рубль» дана условно. Требуется построить экономикоматематическую модель задачи. Таблица 1.1 Затраты ресурсов на единицу продукции Виды продукции Шкаф Кровать Объемы ресурсов
Ткань Пилома– Оборудование, Древ. плита, м2 обивочная, м2 териалы, м3 cтанко–смен 0 0,06 5 2,5 3,3 0,1 4 0 396 14,4 810 325
Прибыль на единицу продукции, р. 3,7 4
Решение. Обозначим искомое число шкафов через х1, а число кроватей – через х2. Тогда зависимость полной прибыли от х1 и х2 (ЦФ задачи) запишется в виде
9 Z = 3,7x1 + 4x2 → max .
(1.6)
Допустимые значения х1 и х2 ограничены располагаемыми объемами ресурсов. Обивочная ткань используется только на производство кроватей, причем, на каждую кровать требуется 3,3 м2 ткани. Следовательно, ограничение по ткани надо записать так 3,3x2 ≤ 396.
(1.7)
То есть общее количество обивочной ткани, необходимое на производство х2 кроватей, не должно превышать имеющегося – 396 м2. Аналогично можно записать ограничения для других ресурсов 0,06x1 + 0,1x2 ≤ 14,4
(1.8)
(количество пиломатериалов, затрачиваемых на производство х1 шкафов и х2 кроватей, не должно превышать имеющихся 14,4 м3), 5x1 + 4x2 ≤ 810
(1.9)
(количество станко-смен оборудования, необходимое на производство х1 шкафов и х2 кроватей, не должно превышать их ресурса, равного 810 станко– сменам), 2,5x1 ≤ 325
(1.10)
(количество плитных материалов, нужное для производства х1 шкафов, не должно превышать выделенных для производства 325 м2. По условиям задачи плита не используется на производство кроватей и, следовательно, (1.10) не зависит от х2). Каждый из рассматриваемых видов мебели может производиться в определенных количествах или не производиться вовсе. Следовательно, можно записать x1 ≥ 0; x2 ≥ 0. (1.11) Итак, математическая модель задачи поиска оптимального по прибыли плана выпуска двух видов мебели в виде модели линейного программирования составлена. Это соотношения (1.6) – (1.11). Задачу теперь можно сформулировать так: найти такие неотрицательные значения переменных х1 и х2, которые удовлетворяют линейным ограничениям – неравенствам (1.7) – (1.11) и обеспечивают максимальное значение ЦФ (1.6). Задание 1. По условию задачи, выданному преподавателем, составить экономико-математическую модель задачи поиска оптимального плана выпуска двух видов мебельных изделий. Решение ЗЛП графическим методом
10 Ограничения задачи – неравенства (1.2) – (1.3) можно представить как выпуклый многогранник в n-мерном пространстве (симплекс). Здесь n – число переменных. Этот многогранник ограничивает область допустимых значений переменных. Если n=2, как в рассматриваемом случае, симплекс вырождается в выпуклый многоугольник и его легко построить на плоскости в прямоугольных координатах, как показано на рисунке 1.1. Для построения симплекса необходимо построить все прямые, соответствующие системе ограничений (1.7) – (1.11). По оси абсцисс откладываются величины х1, а по оси ординат – х2 . Ограничение х1≥0 означает, что область допустимых решений расположена правее оси ординат. Аналогично, ограничение х2≥0 означает, что точки плоскости, соответствующие допустимым решениям системы ограничений, должны лежать на плоскости выше оси абсцисс. Ограничение (1.7) соответствует прямой, параллельной оси абсцисс и проходящей через точку на оси ординат х2=396/3,3=120. x2 II
древплита 4)2,5x1≤325
оборудование 3)5x1+4x2≤810
150 I
1
ткань 1)3,3x2≤396
2
100 3
пиломатериалы 2)0,06x1+0,1x2≤14,4
x1≥0 3,7x1+4x2→max
50
4 0 0
x2≥0 50
α
5 α3 100
α 150
α2
x1 250
Рис. 1.1 Прямые, соответствующие ограничениям (1.8) и (1.9) строятся по точкам, лежащим на осях координат. Так, полагая в (1.8) x1=0, находится точка, лежащая на оси ординат: x 2(0 ) =14,4/0,1=144; аналогично находится точка на оси
11 абсцисс, полагая в (1.8) х2=0: x1(0 ) =14,4/0,06=240. Этим же способом строятся прямые, соответствующие ограничениям (1.9) и (1.10). В результате получается шестиугольник, вершины которого обозначены цифрами от 0 до 5. Этот шестиугольник, включая ограничивающие его линии, и есть область допустимых решений рассматриваемой задачи – симплекс. Любая точка с соответствующими ей координатами х1 и х2, лежащая внутри или на границе симплекса, удовлетворяет системе ограничений (1.7) – (1.11). Теперь необходимо из всех точек найти ту, в которой критерий эффективности (1.6) имеет наибольшее из всех возможных значений. Строится прямая, соответствующая (1.6). Для этого правой части (1.6) дается некоторое конкретное значение, например, в рассматриваемом случае – 400. Тогда целевая функция пройдет через точки х10 = 108,108 и х20 = 100 (положение I на рис. 1.1). Эта прямая проходит под углом α к оси абсцисс, который определяется соотношением прибылей от обоих видов продукции tgα = 3,7/4 = 0,925. Если изменять величины прибылей (одной или обеих), угол наклона α также будет меняться. Если полученную прямую I перемещать параллельно самой себе в сторону увеличения х1 и х2 (это соответствует увеличению правой части), то она в итоге займет положение II, в котором имеет с симплексом единственную общую точку (точку 3). Именно эта точка с координатами х1=90 и х2=90 доставляет максимальное значение критерию эффективности. Суммарная прибыль в этой точке достигает максимального значения 90⋅3,7+90⋅4=693 р. В табл. 1.2 приведены координаты всех точек – вершин симплекса, полученные из рис. 1.1, а также значения критерия эффективности в этих точках, вычисленные по формуле (1.6). Таблица 1.2 № вершины симплекса 0 1 2 3 4 5 0 0 40 90 130 130 Шкафы (х1) 0 120 120 90 40 0 Кровати (х2) Полная прибыль (Z) 0 480 628 693 641 481 Анализ данных табл. 1.2 показал, что наибольшее значение критерия эффективности достигается в точке 3. Так как эта точка лежит на пересечении прямых, соответствующих ограничениям (1.8) и (1.9), то можно сделать вывод, что оптимальное решение ограничено ресурсами пиломатериалов и оборудования, которые при плане, соответствующем точке 3, будут полностью израсходованы, тогда как ресурсы обивочной ткани и древплиты (например, ДСтП или ДВП) будут израсходованы лишь частично. В табл. 1.3 представлены результаты расчета затрат всех видов ресурсов, а также остатков ресурсов для всех планов выпуска продукции, соответствующих всем вершинам симплекса.
12 Задание 2. Выполнить графический анализ модели, для чего построить область допустимых планов (симплекс), найти все допустимые планы выпуска мебели, соответствующие вершинам симплекса. Графическим методом найти оптимальный план, установить, какие виды ресурсов его определяют. Выполнить количественную оценку прибыли для всех допустимых планов, соответствующих вершинам симплекса, убедиться, что оптимальный план, найденный при графическом анализе, обеспечивает наибольшую прибыль. Вершины симплекса Ткань Расход Пиломатериалы ресурсов Оборудование Древплита Ткань Остаток Пиломатериалы ресурсов Оборудование Древплита
0 0 0 0 0 396 14,4 810 325
1 396 12 480 0 0 2,4 330 325
2 396 14,4 680 100 0 0 130 225
3 297 14,4 810 225 99 0 0 100
Таблица 1.3 4 5 132 0 11,8 7,8 810 650 325 325 264 396 2,6 6,6 0 160 0 0
Анализ чувствительности оптимального решения В процессе выполнения принятой производственной программы (плана) ее корректировка значительно затруднена. Ведь под нее разрабатываются календарные планы использования оборудования и производства комплектов различных деталей мебели, сетевые графики общей последовательности работ, сменные производственные задания и т.д. То есть, с корректировкой плана связана необходимость изменения организации работы всего предприятия. Внедрение новой технологии, оборудования, материалов, организации производства не всегда может быть спланировано заранее. Однако такого рода мероприятия выгодны предприятию, поскольку зачастую позволяют снизить себестоимость, улучшить качество изделий, что в конечном итоге ведет к увеличению прибыли. Неизбежное колебание значений таких экономических параметров как цены на продукцию и сырье, запасы сырья, спрос на рынке и т.д. может привести к неоптимальности или непригодности прежнего режима работы. Для учета подобных ситуаций проводится анализ чувствительности оптимального решения, т.е. выяснение того, как возможные изменения параметров исходной модели повлияют на полученное ранее оптимальное решение. Ограничения линейной модели для решения задачи анализа чувствительности классифицируются следующим образом: – связывающие ограничения, проходящие через оптимальную точку;
13 – несвязывающие ограничения, не проходящие через оптимальную точку. Ресурс, представляемый связывающим ограничением, называется дефицитным, а ресурс, представляемый несвязывающим ограничением – недефицитным. Ограничение называют избыточным, если его исключение не влияет на оптимальное решение. Выделяют две задачи анализа на чувствительность: 1. Анализ сокращения или увеличения ресурсов. 2. Анализ изменения коэффициентов ЦФ. Методика графического анализа чувствительности оптимального решения Первая задача. Рассмотрим вопрос регулирования запасов ресурсов, используемых для выполнения производственной программы. Анализ оптимального решения позволяет сделать вывод, что связывающими ограничениями являются ограничения 2 и 3, соответственно, дефицитными ресурсами будут: пиломатериалы и оборудование. Согласно табл. 1.3 они расходуются полностью и по этой причине невозможно дальнейшее наращивание производства, т.е. если появится возможность увеличить объем этих ресурсов, она позволит увеличить план выпуска продукции. Чтобы графически определить максимальное увеличение объема дефицитного ресурса, вызывающее улучшение оптимального решения, необходимо передвигать соответствующую прямую в направлении улучшения ЦФ до тех пор, пока это ограничение не станет избыточным (рис. 1.2). В нашем случае при прохождении прямой 3 (оборудование) через точку В ограничение 3 становится избыточным и возникает новый симплекс с вершинами 0–1–2–3–В–5, в котором оптимальной будет точка В, а связывающими ограничениями становятся 4 (древплита) и 2 (пиломатериалы). Аналогично, увеличение объема ресурса 2 (пиломатериалы) целесообразно до точки А, в которой образуется новый симплекс 0–1–А–4–5, а связывающими ограничениями становятся 1 (ткань) и 3 (оборудование). Правило 1. Чтобы численно определить максимальную величину запаса дефицитного ресурса, вызывающую улучшение оптимального плана необходимо: 1) определить координаты точки (х1; х2), в которой соответствующее ограничение становится избыточным, 2) подставить координаты (х1; х2) в левую часть соответствующего ограничения.
14 x2 II
оборудование 3)5x1+4x2≤810
древплита 2,5x1≤325 4)2.5x 1≤325
150 А I
1
ткань 1)3.3x 1) 3,3x2≤396 ≤396
2
2
100 3 x1≥0 50
В
пиломатериалы 2)0.06x ≤14.4 0,06x1+0.1x +0,1x2≤14,4
3,7x 3.7x1+4x 1+4x 2→max 2→max 4 0
0
x2≥0 50
x1
5 100
150
250
Рис. 1.2 Координаты точки В (130;66) находятся путем решения системы уравнений прямых 4 и 2. При подстановке полученных значений в левую часть ограничения 3 получается допустимый объем ресурса оборудование равный 914. Дальнейшее увеличение не изменит симплекса и не приведет к другому оптимальному решению. Полная прибыль в новой оптимальной точке будет равна 745 р. Аналогично, рассчитываются: координаты точки А (66;120), максимально допустимый объем ресурса пиломатериалы (15,96) и полная прибыль (724 р.). Ограничения 1 и 4 являются не связывающими, а соответствующие им ресурсы недефицитными. С экономической точки зрения это означает, что в данный момент объем ресурса ткань непосредственно не определяет объемы производства. Поэтому некоторое его колебание может никак не повлиять на оптимальный план производства в точке 3. Увеличение (уменьшение) запаса будет соответствовать перемещению прямой ограничения 1 вверх (вниз). Перемещение прямой 1 вниз не влияет на существующее оптимальное решение только до пересечения с точкой 3. Дальнейшее уменьшение ведет к образованию нового симплекса с худшим оптимальным решением. Отсюда вывод: чтобы определить максимальное уменьшение запаса недефицитного
15 ресурса необходимо передвигать соответствующую прямую до пересечения с оптимальной точкой.
№ ресурса
Правило 2. Чтобы численно определить минимальную величину запаса недефицитного ресурса, необходимо подставить координаты оптимальной точки в левую часть соответствующего ограничения. В ограничение 1 (ткань) подставляются координаты точки 3, получается новое значение 297 р. Аналогично проводится исследование возможного снижения запаса древплиты. При наличии ограничений на затраты, связанные с созданием дополнительных запасов исходных продуктов, «лицу, принимающему решения» (ЛПР), важно знать, какому ресурсу следует отдать предпочтение. Для этих целей используют дополнительную характеристику – ценность дополнительной единицы ресурса, которая определяется как отношение максимального приращения целевой функции к максимально допустимому приращению объема ресурса. Результаты анализа возможного сокращения (увеличения) ресурсов представлены в табл. 1.4.
1 2 3 4
Тип ресурса
Недефицитный Дефицитный Дефицитный Недефицитный
Мах изменение Мах изменение ресурса, прибыли, ∆max max∆Z –99 1,56 104 –100
0 31 52 0
Таблица 1.4 Ценность дополнительной единицы ресурса,
yi =
max ∆Z ∆ max
0 19,87 0,5 0
Анализируя полученные результаты, ЛПР может сделать вывод, что при наличии средств дополнительные вложения следует направить на увеличение объема ресурса 2, а лишь затем на увеличение ресурса 3. Задание 3. Провести графический анализ возможности увеличения или сокращения ресурсов при условии неизменности оптимального плана. Результаты анализа представить в графическом виде и в виде таблицы. Вторая задача. Рассмотрим вопрос о возможности снижения себестоимости каждого из видов продукции при условии оптимальности выбранного плана и неизменности цен продукции. Как отмечалось выше, угол α прямой, соответствующий целевой функции, определяется соотношением прибылей, а последняя равна разности оптовой отпускной цены и
16 себестоимости. Таким образом, если меняется себестоимость продукции, то при неизменной цене меняется прибыль и, следовательно, угол наклона α. При этом пределы изменения угла α, обеспечивающие оптимальность выбранного плана, таковы, что положение прямой II (см. рис. 1.1), соответствующей критерию оптимальности, заключено между прямыми 2–3 и 3–4, соответствующими ограничениям на пиломатериалы и оборудование. Изменение цен на продукцию представляется на графике вращением прямой, соответствующей критерию эффективности, вокруг оптимальной точки. Так при увеличении первого коэффициента целевой функции или уменьшении второго прямая будет вращаться по часовой стрелке, иначе – против часовой стрелки. При таких поворотах точка 3 будет оставаться оптимальной до тех пор, пока наклон прямой II не выйдет за пределы, определяемые наклонами прямых ограничений 2 и 3. Итак, угол α может меняться в пределах α2 ≤ α ≤ α3, где α2 – угол наклона прямой, соответствующей ограничению на пиломатериалы, а α3 – угол прямой, соответствующей ограничению на оборудование. Как известно, тангенс угла наклона прямой пропорционален углу наклона и определяется отношением ее коэффициентов. Следовательно, в соответствии с данными задания
k 2 = tg α 2 = 0,06 / 0,1 = 0,6, k 3 = tg α 3 = 5 / 4 = 1,25,
k z = tg α = p1 / p2 = 3,7 / 4 = 0,925, таким образом
k 2 ≤ p1 p2 ≤ k3 .
(1.12)
Подставляя числа, получим 0,6≤0,925≤1,25. Снижая себестоимость шкафа на ∆p1, тем самым можно на ∆p1 увеличить прибыль p1. Так как значение p1 находится в числителе отношения, определяющего значение tgα, то увеличение прибыли на шкаф приведет к увеличению угла наклона α прямой, соответствующей критерию эффективности. Как следует из (1.12), предельное увеличение значения tgα, не нарушающее условия оптимальности выбранного плана, возможно до значения k3=1,25, т.е.
p1 + ∆p1 = k3 , p2
(1.13)
где ∆p1 = k3 p2 – p1 = 1,25⋅4 – 3,7 = 1,3 р. Следовательно, если себестоимость шкафа снизится не больше, чем на 1,3 р., то условие оптимальности выбранного плана сохраняется. В противном случае этот план будет уже не самым лучшим (не оптимальным) по прибыли.
17 Если снижать себестоимость кровати на ∆p2, то tgα уменьшится. Предельное снижение себестоимости, не нарушающее условия оптимальности выбранного плана, составит
p1 = k2 , p2 + ∆p2
(1.14)
где ∆p2 = p1/k2 – p2 = 3,7/0,6 – 4 = 2,17 р. Задание 4. Выполнить количественную оценку возможностей снижения себестоимости каждого из запланированных к выпуску видов продукции при условии неизменности оптимального плана. Определить, при каких соотношениях прибылей найденный план перестает быть оптимальным. Контрольные вопросы 1. Какая система уравнений называется совместной? Определенной? Несовместной? Неопределенной? 2. С какими системами уравнений приходится иметь дело в задачах оптимального планирования? 3. Какие системы уравнений называются эквивалентными? 4. Какие преобразования системы уравнений приводят к эквивалентной системе? 5. Является ли умножение обоих частей уравнения на одно и то же число, отличное от нуля, эквивалентным преобразованием? 6. Является ли прибавление к обеим частям уравнения соответствующих частей другого уравнения, умноженных на произвольное число, эквивалентным преобразованием? 7. Какая система уравнений называется системой с базисом? 8. Что такое базисные неизвестные (переменные)? 9. Какое решение системы уравнений называется базисным? 10. Можно ли привести совместную систему линейных уравнений к эквивалентной системе уравнений? Если да, то как? 11. Что такое общая задача линейного программирования? 12. Что такое каноническая задача линейного программирования? 13. Что такое стандартная задача линейного программирования? 14. Что включает в себя математическая модель задачи линейного программирования? 15. Что такое допустимое решение задачи линейного программирования? 16. Что такое оптимальное решение задачи линейного программирования? 17. Что такое симплекс?
18 18. Какие задачи решаются при выполнении анализа чувствительности решения? 19. Какие ресурсы называются дефицитными? Недефицитными? ЛАБОРАТОРНАЯ РАБОТА № 2 (2 часа) Тема работы: Использование табличного процессора Excel для поиска оптимальных решений задач экономики. Формулировка и решение в Excel задачи линейного программирования. Содержание работы и порядок ее выполнения Лабораторная работа включает в себя знакомство с методикой формулировки и решения задач математического программирования с использованием процедуры «Поиск решения» (Solver) табличного процессора Excel, а также практическое приложение полученных знаний для решения задачи составления оптимального по прибыли плана выпуска двух видов мебели и рассчитана на 2 часа лабораторных занятий. Студент на занятии знакомится с процедурой «Поиск решения» табличного процессора Excel и использует её для формулировки и решения задачи составления оптимального по прибыли плана выпуска двух видов мебели по данным задания лабораторной работы №1. После решения задачи на ЭВМ студент во внеаудиторное время составляет отчет о порядке выполнения работы, вносит в отчет результаты обработки данных, полученных на ЭВМ, и защищает отчет в назначенное преподавателем время. Методические указания по составлению и оформлению отчета о лабораторной работе изложены в конце методических указаний. Пример постановки задачи оптимизации в Excel Рассмотрим задачу оптимального планирования выпуска продукции (лабораторная работа №1). Производственному участку поручено выпускать мебель двух видов: кровати и шкафы, на производство которых выделены сырьевые и производственные ресурсы (табл. 2.1). Требуется составить оптимальный по прибыли план выпуска продукции. Таблица 2.1 Виды продукции 1. Шкаф 2. Кровать Объемы ресурсов
Затраты ресурсов на единицу продукции Ткань Пилома– Оборудование, Древ. обивочная, м2 териалы, м3 cтанко–смен плита, м2 0 0,06 5 2,5 3,3 0,1 4 0 396
14,4
810
325
Прибыль на единицу продукции, р. 3,7 4
19 Обозначим искомое число шкафов через х1, а число кроватей – через х2. Тогда математическая модель задачи запишется так Z = 3,7x1 + 4x2 → max
3,3 x2 ≤ 396; 0,06 x + 0,1x ≤ 14,4; 1 2 5 x1 + 4 x2 ≤ 810; 2,5 x ≤ 325; 1 x1 ≥ 0; x2 ≥ 0;
Вначале исходные данные размещаются на рабочем листе Excel, как это показано на рисунке 2.1, каждой переменной и каждому коэффициенту задачи ставится в соответствие конкретная ячейка (выделенная рамкой).
Рис. 2.1 Ячейки С4:С5 – изменяемые ячейки, в которые записываются некоторые начальные значения (в данном примере 1). Расход ресурсов на единицу изделия помещен в ячейках D4:G5, объем ресурсов – в ячейках D7:G7, прибыль на единицу изделия – в ячейках I4:I5. Ячейка J8 выбрана в качестве целевой ячейки, содержащей формулу =СУММ(J4:J5). Она связана с изменяемыми ячейками через ячейки J4:J5, в которых содержатся формулы: =I4*С4 и =I5*С5. Расход ресурсов (ячейки D4:G5) связан с изменяемыми ячейками формулами: =D4*C4+D5*C5, =E4*C4+E5*C5, =F4*C4+F5*C5 и =G4*C4+G5*C5, помещенными во влияющие ячейки D8:G8 соответственно. Задание 1. В соответствии с данными индивидуального задания лабораторной работы № 1 сформировать в ячейках листа Excel шаблон решения задачи оптимизации по прибыли плана выпуска продукции мебельного предприятия.
20 Процедура «Поиск решения» табличного процессора Excel После внесения всех зависимостей, составляющих математическую модель, на рабочий лист Excel для дальнейшего решения вызывается процедура «Поиск решения», с помощью которой могут быть решены многие задачи экономики, формулируемые как задачи математического программирования, а именно: – минимизация затрат на транспортировку, – составление смеси, – оптимальный раскрой материалов, – оптимизация финансовых показателей, – штатное расписание, – максимизация выпуска товаров при ограничениях на сырье. Поиск решения задач математического программирования осуществляется в Excel с использованием команды Поиск решения... из пункта главного меню Сервис (рис. 2.2). При этом появляется Рис. 2.2 диалоговое окно Поиск решения, показанное на рис. 2.3. В поле Установить целевую записывается ссылка на ячейку, содержащую формулу с целевой функцией. В группе переключателей Равной указывается направление оптимизации ЦФ.
Рис. 2.3 В поле Изменяемые ячейки указываются ячейки, изменением которых достигается экстремальное значение целевой ячейки. Они должны содержать какие–либо допустимые значения элементов решения оптимизационной задачи и быть связаны формулой листа (целевой функцией), помещаемой в целевую
21 ячейку. В итоге процедура поиска решения сводится к определению значений изменяемых ячеек. Кнопка Предположить служит для автоматического поиска изменяемых ячеек. При этом определятся все ячейки, не содержащие формулы и влияющие на целевую функцию. Ограничения оптимизационной задачи также задаются формулами, связывающими изменяемые ячейки со значениями ресурсов оптимизационной задачи во влияющих ячейках. В этих формулах ресурсы могут быть заданы либо в виде числовых значений, либо – в виде ссылок на ячейки. В процедуру поиска решений формулы ограничений вносятся с помощью кнопки Добавить. При этом вызывается диалоговое окно Добавление ограничения, показанное на рис. 2.4.
Рис. 2.4 Поле Ссылка на ячейку служит для указания ячейки или диапазона, на значения которых необходимо наложить ограничение. Поле Ограничение служит для задания условия, которое накладывается на значения ячейки или диапазона, указанного в поле Ссылка на ячейку. Для задания условия необходимо выбрать условный оператор (<=, =, >= или “цел”) и ввести ограничение: число, формулу, ссылку на ячейку или диапазон ячеек в поле справа от раскрывающегося списка условных операторов. Кнопка Добавить позволяет наложить новое условие на поиск решения задачи, не возвращаясь в окно диалога Поиск решения. Работа в окне диалога Изменить ограничение аналогична работе в окне Добавление ограничения. Кнопка Параметры вызывает диалоговое окно Параметры поиска решения (рис. 2.5), в котором можно изменять условия и варианты поиска решения для линейных и нелинейных задач, а также загружать и сохранять оптимизируемые модели. Значения и состояния элементов управления, используемые по умолчанию, подходят для решения большинства задач. Поле Максимальное время служит для ограничения времени, отпускаемого на поиск решения задачи. Значение 100 секунд, используемое по умолчанию, подходит для решения большинства простых задач. Поле Предельное число итераций управляет временем решения задачи, путем ограничения числа промежуточных вычислений. Значение, используемое по умолчанию (100), подходит для решения большинства простых задач.
22
Рис. 2.5 Поле Относительная погрешность служит для задания точности, с которой определяется соответствие ячейки целевому значению или приближение к указанным границам. Поле должно содержать число из интервала от 0 до 1. Поле Допустимое отклонение служит для задания допуска на отклонение от оптимального решения, если множество значений влияющей ячейки ограничено множеством целых чисел. Поле Сходимость служит для останова решения в случае когда относительное изменение значения в целевой ячейке за последние 5 итераций становится меньше указанного значения. Применяется только к нелинейным задачам. Поле должно содержать число из интервала от 0 (нуля) до 1. Поле Линейная модель служит для ускорения поиска решения линейной задачи оптимизации или линейной аппроксимации нелинейной задачи. Поле Показывать результаты итераций служит для приостановки поиска решения для просмотра результатов отдельных итераций. Поле Автоматическое масштабирование служит для включения автоматической нормализации входных и выходных значений, качественно различающихся по порядку величины, например, максимизация прибыли в процентах по отношению к вложениям, исчисляемым в миллионах рублей. Поле Оценка служит для указания метода экстраполяции (Линейная или Квадратичная), используемого для получения исходных оценок значений переменных в каждом одномерном поиске. При решении нелинейных задач квадратичная экстраполяция дает лучшие результаты. Поле Разности служит для указания метода численного дифференцирования (Прямые или Центральные производные), который используется для вычисления частных производных целевых и
23 ограничивающих функций. Прямые – используется для гладких непрерывных функций, Центральные – используется для функций, имеющих разрывную производную. Поле Метод служит для выбора алгоритма оптимизации (Метод Ньютона или Сопряженных градиентов) для указания направления поиска. Кнопки Загрузить модель и Сохранить модель служат для отображения на экране окон диалога, соответственно, Загрузить модель и Сохранить модель, в которых можно задать ссылку на область ячеек, содержащих загружаемую модель, или – на область ячеек, предназначенную для хранения модели оптимизации. Данный вариант предусмотрен для хранения на листе более одной модели оптимизации. Первая модель сохраняется автоматически. Задание 2. Проверить установку параметров поиска решения Вашей задачи и при необходимости изменить их. Окно диалога «Результаты поиска решения» Поиск решения осуществляется при нажатии кнопки Выполнить окна Поиск решения. На рисунке 2.6 показаны результаты решения задачи оптимизации плана выпуска продукции для условий примера, приведенного на рис. 2.4.
Рис. 2.6 Полученные результаты отображаются в целевой, изменяемых и влияющих ячейках условий оптимизационной задачи, записанных на листе Excel. При повторном обращении к диалоговому окну Поиск решения и нажатии кнопки Восстановить будут восстановлены все параметры поиска решения и выделения ячеек.
24 Одновременно с нахождением оптимального решения процедура «Поиск решения» выводит на экран окно итогового сообщения о результатах поиска решения, которое в случае успешного поиска решения имеет вид, показанный на рис. 2.7. Поле Сохранить найденное решение служит для сохранения найденного решения в целевой, изменяемых и влияющих ячейках модели. Поле Восстановить исходные значения служит для восстановления исходных значений целевой, изменяемых и влияющих ячеек модели. Кнопка Сохранить сценарий служит для отображения окна диалога Сохранение сценария, в котором можно сохранить сценарий решения задачи, чтобы использовать его в дальнейшем с помощью диспетчера сценариев Microsoft Excel.
Рис. 2.7 Поле Тип отчета служит для указания типа отчета, размещаемого на отдельном листе книги Excel. В этом поле можно пометить любые (или все) из предлагаемых типов отчетов, которые будут созданы по выходе из окна Результаты поиска решения: Тип Результаты используется для создания отчета, состоящего из целевой ячейки и списка влияющих ячеек модели, их исходных и конечных значений, а также формул ограничений и дополнительных сведений о наложенных ограничениях. Тип Устойчивость используется для создания отчета, содержащего сведения о чувствительности решения к малым изменениям в формуле модели или в формулах ограничений. Тип Пределы используется для создания отчета, состоящего из целевой ячейки и списка влияющих ячеек модели, их значений, а также нижних и верхних границ. Задание 3. Найти оптимальное решение сформулированной задачи, просмотреть его и восстановить исходные значения задачи. Вновь получить оптимальное решение. Сохранить его с одновременным выводом на отдельных листах Excel всех типов отчетов о поиске решения. Сохранить под выбранным именем книгу Excel с результатами работы.
25 Итоговые сообщения процедуры поиска решения Если поиск решения успешно закончен, в окне диалога Результаты поиска решения выводится одно из следующих сообщений: • Решение найдено. Все ограничения и условия оптимальности выполнены. Все ограничения соблюдены с установленной точностью и найдено заданное значение целевой ячейки. • Поиск свелся к текущему решению. Все ограничения выполнены. Значение целевой ячейки не менялось в течение последних пяти итераций. Решение, возможно, найдено или итеративный процесс улучшает решение очень медленно. Если поиск не способен достичь оптимального решения, в окне диалога Результаты поиска решения выводится одно из следующих сообщений: • Поиск не может улучшить текущее решение. Все ограничения выполнены. В процессе поиска решения нельзя найти такой набор значений влияющих ячеек, который был бы лучше текущего решения. Приблизительное решение найдено, но либо дальнейшее уточнение невозможно, либо заданная погрешность слишком высока. Следует изменить погрешность на меньшее число и запустить процедуру поиска решения снова. • Поиск остановлен (истекло заданное на поиск время). Время, отпущенное на решение задачи, исчерпано, но достичь удовлетворительного решения не удалось. Чтобы при следующем запуске процедуры поиска решения не повторять выполненные вычисления, следует установить переключатель Сохранить найденное решение или нажать кнопку Сохранить сценарий. • Поиск остановлен (достигнуто максимальное число итераций). Произведено разрешенное число итераций, но достичь удовлетворительного решения не удалось. Увеличение числа итераций может помочь, однако следует рассмотреть результаты, чтобы понять причины остановки. Чтобы при следующем запуске процедуры поиска решения не повторять выполненные вычисления, следует установить переключатель Сохранить найденное решение или нажать кнопку Сохранить сценарий. • Значения целевой ячейки не сходятся. Значение целевой ячейки неограниченно увеличивается (или уменьшается), даже если все ограничения соблюдены. Возможно следует в задаче снять одно ограничение или сразу несколько. Необходимо проанализировать причины расхождения решения и запустить задачу снова. • Поиск не может найти подходящего решения. В процессе поиска решения нельзя сделать итерацию, которая удовлетворяла бы всем ограничениям при заданной точности. Вероятно, ограничения противоречивы.
26 Следует исследовать лист на предмет возможных ошибок в формулах ограничений или в выборе ограничений. • Поиск остановлен по требованию пользователя. Нажата кнопка Стоп в окне диалога Текущее состояние поиска решения после прерывания поиска решения или в процессе пошагового выполнения итераций. • Условия для линейной модели не удовлетворяются. Установлен флажок Линейная модель, однако итоговый пересчет порождает такие значения, которые не согласуются с линейной моделью. Это означает, что решение недействительно для данных формул листа. Следует снять флажок Линейная модель и запустить задачу снова. • При поиске решения обнаружено ошибочное значение в целевой ячейке или в ячейке ограничения. При пересчете значений ячеек обнаружена ошибка в одной формуле или в нескольких сразу. Для устранения проблем необходимо: 1) найти целевую ячейку или ячейку ограничения, порождающие ошибку, и изменить их формулы так, чтобы они возвращали подходящее числовое значение; 2) в поле Ограничение окна диалога Добавить ограничение набрано слово “целое”, указывающее, что значение ячейки ограничения должно быть целым числом. Чтобы ограничить множество значений ячейки множеством целых чисел, надо выбрать из раскрывающегося списка операторов сравнения в окне диалога Добавить ограничение строку “цел”. Контрольные вопросы 1. Какая команда используется для поиска оптимальных решений задач математического программирования в табличном процессоре Excel? 2. Что понимается под изменяемыми ячейками Excel при формулировке оптимизационных задач и каково их число? 3. Какие начальные значения вносятся в изменяемые ячейки? 4. Что такое целевая ячейка и как она связывается с изменяемыми ячейками? 5. Что такое влияющие ячейки и как они связываются с изменяемыми ячейками? 6. Как указать изменяемые и целевую ячейки для поиска оптимального решения сформулированной в Excel задачи математического программирования? 7. Как добавляются ограничения в процедуру поиска решения? 8. Каковы параметры процедуры поиска решений, как они могут быть изменены? 9. Как ускорить поиск решения линейной задачи математического программирования в окне параметров поиска решения? 10. Какие методы используются в процедуре «Поиск решения» для поиска оптимальных решений задач математического программирования?
27 11. Какой метод экстраполяции и в каком поле окна параметров поиска решения лучше задавать для решения задач линейного программирования? 12. Какой метод численного дифференцирования и в каком поле окна параметров поиска решения лучше задавать для решения задач линейного программирования? 13. Для чего служат команды Сохранить модель и Загрузить модель окна параметров поиска решения? 14. Как получить оптимальное решение сформулированной в Excel задачи, сохранить его или восстановить начальные значения изменяемых ячеек? 15. Какие типы отчетов предусмотрены в процедуре поиска решений? 16. Каковы будут Ваши действия в ответ на сообщение «Поиск не может улучшить текущее решение. Все ограничения выполнены» в окне результатов поиска решения? 17. Каковы будут Ваши действия в ответ на сообщение «Поиск остановлен (истекло заданное на поиск время)» в окне результатов поиска решения? 18. Каковы будут Ваши действия в ответ на сообщение «Поиск остановлен (достигнуто максимальное число итераций)» в окне результатов поиска решения? 19. Каковы будут Ваши действия в ответ на сообщение «Значения целевой ячейки не сходятся» в окне результатов поиска решения? 20. Каковы будут Ваши действия в ответ на сообщение «Поиск не может найти подходящего решения» в окне результатов поиска решения? 21. Каковы будут Ваши действия в ответ на сообщение «Поиск остановлен по требованию пользователя» в окне результатов поиска решения? 22. Каковы будут Ваши действия в ответ на сообщение «Условия для линейной модели не удовлетворяются» в окне результатов поиска решения? 23. Каковы будут Ваши действия в ответ на сообщение «При поиске решения обнаружено ошибочное значение в целевой ячейке или в ячейке ограничения» в окне результатов поиска решения? 24. Каковы будут Ваши действия в ответ на сообщение «Мало памяти для решения задачи» в окне результатов поиска решения?
28 ЛАБОРАТОРНАЯ РАБОТА №3 (6 часов) Тема работы: Формулировка транспортной задачи и построение ее математической модели. Отыскание опорного решения методами: северозападного угла, наименьшей стоимости и Фогеля. Поиск оптимального решения методом потенциалов. Понятие открытой транспортной задачи и ее математическая модель. Содержание работы и порядок ее выполнения Лабораторная работа включает в себя два варианта задачи составления оптимального по стоимости плана перевозок и рассчитана на 6 часов лабораторных занятий. Условия задач выдаются студентам преподавателем, руководящим лабораторными занятиями. На первом занятии студент знакомится с содержанием работы, а во внеаудиторное время изучает необходимую литературу, составляет по исходным данным математические модели обоих вариантов задачи, записывает опорный план методами северо-западного угла, наименьшей стоимости, Фогеля, выполняет решение задач методом потенциалов и анализирует полученные результаты. На втором занятии по построенным математическим моделям задач с помощью процедуры «Поиск решения» табличного процессора Excel производится нахождение оптимального плана перевозок. Методика использования процедуры «Поиск решения» описана в лабораторной работе №2. На третьем занятии студент отчитывается по теоретической части лабораторной работы, предоставляет отчет о работе преподавателю и защищает полученные результаты. Формулировка транспортной задачи и построение ее математической модели Транспортная задача (ТЗ) является частным случаем ЗЛП и формулируется следующим образом: пусть имеются m пунктов отправления (ПО) A1, A2, ..., Am, в которых сосредоточены запасы каких–то однородных грузов в количестве соответственно a1, a2, ..., am единиц. Имеются n пунктов назначения (ПН), B1, B2, ..., Bn, подавших соответственно заявки на b1, b2, ... , bn единиц груза. Сумма всех заявок равна сумме всех запасов m
n
i =1
j =1
∑ ai = ∑ b j .
(3.1)
29 Известны также стоимости cij перевозки единицы груза от каждого пункта отправления Ai до каждого пункта назначения Bj (i=1, 2, ..., m; j=1, 2, ..., n). Все числа cij, образующие прямоугольную таблицу (матрицу), заданы:
c11 c12 c c22 cij = 21 ... ... cm1 cm 2
... c1n ... c2 n . ... ... ... cmn
(3.2)
Считается, что стоимость перевозки нескольких единиц груза пропорциональна их числу. Требуется составить такой план перевозок (откуда, куда и сколько единиц груза везти), чтобы все заявки были выполнены, а общая стоимость всех перевозок была минимальна. Построим математическую модель ТЗ. Обозначим xij – количество единиц груза, отправляемого из i–го ПО Ai в j–й ПН Bj. Переменные xij также записываются в виде матрицы
x11 x xij = 21 ... xm1
x12 x22 ... xm 2
... x1n ... x2 n . ... ... ... xmn
(3.3)
Матрица ||xij || называется планом перевозок, а сами величины xij – перевозками. Эти неотрицательные переменные должны удовлетворять следующим условиям: 1. Суммарное количество груза, направляемого из каждого ПО во все ПН, должно быть равно запасу груза в данном пункте. Это формулирует m условий– равенств n
∑ xij = ai , j =1
i = 1, 2, ..., m .
(3.4)
2. Суммарное количество груза, доставляемого в каждый ПН из всех ПО, должно быть равно заявке, поданной данным пунктом. Это определяет n условий–равенств m
∑ xij = b j , i =1
j = 1, 2, ..., n .
(3.5)
3. Суммарная стоимость всех перевозок, то есть сумма величин xij, умноженных на соответствующие стоимости cij, должна быть минимальной
30 m n
Z = ∑ ∑ cij xij → min ,
(3.6)
i =1 j =1
где знак двойной суммы означает, что суммирование производится по всем комбинациям индексов i и j, т.е. по всем парам ПО–ПН. Построенная модель является типичной моделью ЗЛП с условиями– равенствами (3.4), (3.5) и минимизируемой целевой линейной функцией – (3.6). Особенностью этой задачи является то, что все коэффициенты неизвестных переменных в условиях (3.4), (3.5) равны единице – это позволяет решать задачу очень простым способом. Прежде всего, условия–равенства (3.4), (3.5) не являются линейно независимыми, так как их правые части связаны условием (3.1). Так что число линейно независимых среди уравнений (3.4), (3.5) равно не числу уравнений m+n, а на единицу меньше: m+n–1. Известно, что в задаче линейного программирования оптимальное решение достигается в одной из вершин области допустимых решений (смотри лабораторную работу №1). Эти вершины носят названия опорных точек, а решения в опорных точках – опорных решений. В опорной точке по крайней мере k переменных равны нулю. Значит, в задаче, представленной уравнениями (3.4) – (3.6) для оптимального плана по крайней мере (m–1)(n–1) перевозок должны быть равны нулю (из соответствующих ПО в соответствующие ПН ничего не перевозится). Будем называть любой план перевозок допустимым, если он удовлетворяет условиям (3.4) – (3.5) (все заявки удовлетворены, все запасы исчерпаны). Допустимый план будем называть опорным, если в нем отличны от нуля не более m+n–1 базисных перевозок, а остальные перевозки равны нулю. План ||xij || будем называть оптимальным, если он среди всех допустимых планов приводит к минимальной суммарной стоимости перевозок (Z=min). При решении ТЗ все операции по нахождению оптимального плана сводятся к манипуляциям с таблицей, где в определенном порядке записаны условия транспортной задачи. Этот порядок решения ТЗ будет рассматриваться на конкретном примере. Задание 1. На основе условия ТЗ, выданного преподавателем, составить математическую модель ТЗ. Пример решения ТЗ Задача. Пусть в лесхозе для вырубки отведены три лесосеки (ПО – A1, A2, A3) с ликвидными запасами древесины соответственно равными a1=35, a2=45, a3=50 тыс. м3 древесины. У веток лесовозных дорог организовано четыре перегрузочных пункта (ПН – B1, B2, B3, B4), вместимость которых соответственно составляет b1=30, b2=10, b3=65, b4=25 тыс. м3 древесины.
31 Стоимости перевозок (в р. за м3) проставлены в правом верхнем углу каждой клетки так называемой транспортной таблицы (табл. 3.1). Отыскание опорного плана ТЗ Прежде всего, необходимо получить опорный план. Это допустимое решение ТЗ, которое используется в качестве начального базисного решения при нахождении оптимального решения методом потенциалов. В данной работе рассматриваются три метода нахождения опорного плана: северо-западного угла, наименьшей стоимости и Фогеля. Таблица 3.1 ПО\ПН
B1
B2 5
B3 2
Запасы ai
B4 6
11
A1
35 4
7
12
8
A2
45 9
1
3
10
A3 Заявки bj
50 30
10
65
25
130
Самый простой метод отыскания опорного решения ТЗ – метод северо– западного угла (СЗУ) – состоит в последовательном заполнении клеток транспортной таблицы. На каждом шаге метода из всех не вычеркнутых клеток выбирается самая левая верхняя клетка (северо-западный угол таблицы). Как правило, опорное решение, полученное таким способом (табл. 3.2), значительно отличается от оптимального, поскольку при его отыскании нигде не учитывается стоимость перевозок. Проверим, является ли полученный план допустимым. В нём сумма перевозок по строке равна запасу соответствующего ПО, а сумма перевозок по столбцу – заявке соответствующего ПН. Все заявки удовлетворены, все запасы израсходованы (сумма запасов равна сумме заявок и выражается числом 130, стоящим в правом нижнем углу таблицы). Проанализируем, является ли план перевозок, данный в табл. 3.2, опорным. Так как число свободных клеток в таблице равно (m–1)(n–1)=2·3=6, план является опорным. Общие затраты на перевозку при этом будут равны
32 Z =30 ⋅ 5+5 ⋅ 2+5 ⋅ 7+40 ⋅ 12+25 ⋅ 3+10 ⋅ 25=1000 [р.] Таблица 3.2 ПО\ПН
B1
B2 5
A1
2
30
6
11
35
7
A2
12
5 9
8
40 1
A3 30
Запасы ai
B4
5
4
Заявки bj
B3
10
45 3
10
25
25
50
65
25
130
Более эффективный метод наименьшей стоимости предполагает сначала заполнение клетки, соответствующей минимальной стоимости перевозки груза, затем заполняется клетка с тем же свойством среди оставшихся незаполненных и т.д. В рассматриваемом примере наименьшая стоимость перевозки груза в табл. 3.1 соответствует клетке (3,2): c32=1. В неё записывается наименьшее из чисел a3 и b2, т.е. 10 (ПН B2 подал заявку на 10 тыс. м3, что полностью удовлетворяется из запасов ПО A3, причем там остается ещё 40 тыс. м3). Среди оставшихся клеток наименьшая стоимость перевозок соответствует клетке (1,2): c12=2, но поскольку заявка ПН B2 уже удовлетворена, она пропускается. Следующей будет клетка (3,3), в которую можно записать число 40 (количество груза, оставшееся в ПО A3). Далее берется клетка (2,1) и в неё вносится число 30 и т.д. В результате получается табл. 3.3.
33 Таблица 3.3 ПО\ПН
B1
B2 5
B3 2
A1 7
12
35 8
15 9
30
11
10
30
A3 Заявки bj
6
25 4
A2
Запасы ai
B4
1
3
10
40
10
65
45 10
50 25
130
Этот план также является допустимым и опорным. Общие затраты на перевозку по этой методике будут равны: Z =30 ⋅ 4+10 ⋅ 1+40 ⋅ 3+25 ⋅ 6+10 ⋅ 11+15 ⋅ 8=630 [р.] На каждом шаге метода Фогеля для каждой строки (столбца) вычисляются штрафы как разность между двумя наименьшими стоимостями строки (столбца). После этого выбирается максимальный штраф из всех штрафов столбцов и строк. Далее в строке или столбце с максимальным штрафом заполняется клетка с минимальной стоимостью (табл. 3.4).
34 Таблица 3.4 ПО\ПН
B1
B2 5
A1
10
2
10 4
A2
B3
20
6
15 7
– 9
B4
12
1
№1
№2
№3
№4
35
3
1
1
6
45
3
4
4
4
2
6
–
–
11
–
–
Запасы ai
8
25 3
10
A3
–
–
50
–
50
Заявки bj
30
10
65
25
130
№1
1 1 1 1
1 – – –
3 3 6 –
2 2 3 3
№2 №3 №4
Если существует несколько одинаковых по величине штрафов, то выбирается и заполняется в соответствующих строках или столбцах клетка с наименьшей стоимостью. Если клеток с наименьшей стоимостью несколько, то из них выбирается клетка с максимальным суммарным штрафом (максимальная сумма штрафов по строке и столбцу, образующих клетку). Для рассматриваемого примера на первой итерации для первой строки считается разница между двумя наименьшими стоимостями: 5–2=3. Аналогично высчитываются штрафы для второй и третей строки, а также для всех столбцов. Далее, так как имеется несколько одинаковых по величине штрафов, согласно правилу выбирается строка или столбец с наименьшей стоимостью – это первая строка (наименьшая стоимость 2). В клетку (1,2) записывается число 10. Поскольку заявка В2 полностью удовлетворена, в этом столбце штрафов далее ставятся прочерки. На второй итерации снова рассчитываются штрафы по столбцам и строкам, исключая вычеркнутые клетки столбца В2. Для строки A1 это будет значение: 6–5=1. Теперь максимальный штраф соответствует строке A3, а значит заполнится клетка (3,3) значением 50. Так как все запасы ПО A3 исчерпаны, все оставшиеся клетки строки вычеркиваются и т.д. В результате получится табл. 3.4. Общие затраты на перевозку по этой методике будут равны Z =10 ⋅ 5+10 ⋅ 2+15 ⋅ 6+20 ⋅ 4+25 ⋅ 8+50 ⋅ 3=590 [р.]
35 Метод Фогеля дает решение очень близкое к оптимальному, а иногда и само оптимальное решение. Задание 2. Составить транспортную таблицу задачи. Найти опорное решение методами северо-западного угла, наименьшего элемента и Фогеля. Проверить, для каждого метода, является ли полученное решение допустимым и опорным. Подсчитать общую стоимость плана перевозок для каждого варианта решения. Решение ТЗ методом потенциалов После того как был составлен опорный план перевозок, необходимо выяснить, является ли этот план оптимальным. Для этого используется метод потенциалов. Этот метод предполагает выполнение следующих этапов. 1. Каждому Ai поставщику ставится в соответствие некоторая переменная ui, называемая потенциалом данного ПО. Каждому потребителю Bj ставится в соответствие некоторая переменная vj, называемая потенциалом данного ПН. 2. Для отыскания значений этих переменных, т.е. потенциалов поставщиков и потребителей, составляется и решается система уравнений. При этом каждой занятой клетке (i, j) соответствует своё уравнение, имеющее вид
ui + v j = cij .
(3.7)
Всего составляется m+n–1 уравнений по числу занятых клеток. Число переменных в системе равно m+n, т.е. на единицу больше числа уравнений. Поэтому система легко решается: одной из переменных придают произвольное значение (обычно нуль) и затем однозначно определяют значения остальных переменных. 3. Для каждой свободной клетки вычисляется сумма потенциалов соответствующего ей поставщика и потребителя
z ks = u k + vs .
(3.8)
Эту сумму называют псевдостоимостью. Далее, для этой же клетки вычисляется разность между стоимостью перевозки и псевдостоимостью, так называемая теневая стоимость
∆ ks = z ks − cks .
(3.9)
Примечание. Разность ∆ ks = cks − zks называется симплексной разностью и также может быть использована при объяснении метода потенциалов. Если для всех свободных клеток полученные теневые стоимости отрицательны, значит исходный опорный план уже оптимален. Иными словами,
36 опорный план оптимален, если для каждой свободной клетки псевдостоимость не превышает стоимость перевозки. Нулевые значения теневых стоимостей для свободных клеток свидетельствуют о наличии альтернативного оптимального плана. 4. Наличие хотя бы одной свободной клетки с отрицательной теневой стоимостью свидетельствует о том, что оптимальное решение ещё не достигнуто. В этом случае ищется клетка с наибольшей положительной величиной ∆ks, определяется для неё цикл, и совершается перенос груза. За начало цикла принимается вершина цикла с наибольшей разностью ∆ks, и ей приписывается знак плюс. Остальные вершины цикла находятся в заполненных клетках, их знаки чередуются по часовой стрелке. Выбирается наименьшее из количеств грузов, стоящих в отрицательных вершинах, которое переносится по циклу. Эта величина соответственно отнимается в отрицательных и прибавляется в положительных вершинах цикла. 5. В результате перераспределения груза получается новый план, заведомо лучший, чем предыдущий. Затем процедуру повторяют с первого этапа до тех пор, пока не будет найдено оптимальное решение за конечное число итераций. Для примера решения задачи методом потенциалов берется опорный план, полученный методом СЗУ (табл. 3.2). В соответствии с количеством и порядковым номером поставщиков и потребителей вводятся переменные u1, u2, u3, v1, v2, v3, v4 – потенциалы поставщиков и потребителей. Для каждой занятой клетки табл. 3.2 записываются уравнения вида (3.7) u1+v1=5,
u1+v2=2,
u2+v2=7,
u2+v3=12,
u3+v3=3,
u3+v4=10.
Примем v1=0, после чего находятся из записанной системы уравнений значения других потенциалов. Они указаны в табл. 3.5 в левых нижних углах клеток запасов ПО и заявок ПН.
37 Таблица 3.5 ПО\ПН
B1
B2
0
-3
5
6
35
2
7
4
12
5 10
7
45
12
9
8
40 19
1
3
A3 Заявки bj
14
7
A2
1
11
5
5
10
9
2
30
10
25 1
–2
30
Запасы ai
B4
2
5
A1
B3
3
10
25
50
25
130
10
65
В левых нижних углах клеток перевозок указаны, рассчитанные в соответствии с (3.8), псевдостоимости. Соответственно, теневые стоимости будут равны ∆13=7–6=1, ∆14=14–11=3, ∆21=10–6=6, ∆24=19–8=11, ∆31= 1–9= –8, ∆32=–2–1= –3. Как видно не все полученные значения отрицательные, следовательно, опорный план в табл. 3.6 не оптимален. В клетке (2,4) получается наибольшая положительная теневая стоимость ∆24=11, значит она выбирается в качестве начала цикла. Имеется единственно возможный цикл: (2,4)→(3,4)→(3,3)→(2,3). Положительными будут вершины (2,4) и (3,3), отрицательными – (3,4) и (2,3). Наименьшее количество в отрицательной вершине цикла (клетка (3,4)) равно 25 единиц груза. Это число вычитается в отрицательных вершинах и прибавляется в положительных, в итоге получается новый план перевозок (табл. 3.6). Общая стоимость перевозок равна Z =30 ⋅ 5+5 ⋅ 2+5 ⋅ 7+15 ⋅ 12+25 ⋅ 8+50 ⋅ 3= 725 (р.) Таким образом, стоимость перевозок уменьшилась на 1000 – 725 = 275 единиц. Это можно было предсказать и не подсчитывая полную стоимость плана. Действительно, так называемая цена цикла представленная алгебраической суммой стоимостей, стоящих в вершинах цикла (со знаком плюс, если перевозки в этой вершине увеличиваются, и со знаком минус – если уменьшаются), в данном случае равна: – 10 + 3 – 12 + 8 = –11. Значит, при переносе одной единицы груза по этому циклу стоимость перевозок уменьшается на 11. В табл. 3.6 перенесено 25 единиц груза, значит, стоимость перевозок должна уменьшиться на 11⋅25 = 275 единиц, что и произошло.
38 Таблица 3.6 ПО\ПН
B1
B2
5
2
0
6
11
5
5
35
2
7
4
12
5 10
3
7
A2 5
3
2
30
Запасы ai
B4
7
5
A1
B3
15
7
25
12
9
8 8
1
3
A3
45 10
50
-4
1
Заявки bj
-2
30
3
10
50 -1
65
25
130
На второй итерации метода потенциалов опять для каждой занятой клетки нового опорного плана записываются уравнения вида 3.7 и определяются новые значения потенциалов (табл. 3.6). u1+v1=5,
u1+v2=2,
u2+v2=7,
u2+v3=12,
u3+v3=3,
u2+v4=8.
Находятся значения теневых стоимостей для незанятых клеток: ∆13=1;
∆14= –8;
∆21=6;
∆31= –8;
∆32= –3;
∆34= –11.
Так как имеются положительные значения симплексных разностей, олученный план не является оптимальным. Наибольшее значение соответствует клетке (2,1) и равно ∆21=10–4=6. Снова составляется единственно возможный цикл: (2,1)→(1,1)→(1,2)→(2,2). Определяются знаки вершин цикла: положительные – (2,1) и (1,2), отрицательные – (1,1) и (2,2). Количество переносимого по циклу груза равно 5 и находится в клетке (2,2). В результате получается новый план перевозок, представленный в табл. 3.7. Суммарные затраты на перевозки будут равны Z =25 ⋅ 5+10 ⋅ 2+5 ⋅ 4+15 ⋅ 12+25 ⋅ 8+50 ⋅ 3= 695 (р.) На третьей итерации на основе опорного плана табл. 3.7 получается новая система уравнений: u1+v1=5,
u1+v2=2,
u2+v1=4,
u2+v3=12,
u3+v3=3,
u2+v4=8.
Находятся значения теневых стоимостей для незанятых клеток ∆13=7,
∆14= –2,
∆22= –6,
∆31= –14,
∆32= –7,
∆34= –11.
39 Таблица 3.7 ПО\ПН
B1
B2
5
2
0
6
35
2
13
4
9
7
12
5
-1
11
10
5
A2
9
2
25
Запасы ai
B4
13
5
A1
B3
8
15
4
1
25
12
9
8
1
3
A3
45 10
50
-10
-5
Заявки bj
-8
30
50
3
10
-1
65
25
130
Наибольшее значение теневой стоимости соответствует клетке (1,3) и равно ∆24=19–8=7. Составляется цикл: (1,3)→(2,3)→(2,1)→(1,1). Вершины со знаком плюс – (2,1) и (1,2), со знаком минус – (1,1) и (2,2). Количество переносимого по циклу груза равно 15 и находится в клетке (2,3). В результате получается новый план перевозок представленный в табл. 3.8. Таблица 3.8 ПО\ПН
B1
B2
5
2
0
11
15
2
35
6
4
A2
6
10
5
9
2
10
9
7
12
8
20
-1
Запасы ai
B4
6
5
A1
B3
25
4
1
5
9
8
1
3
A3
45 10
50
-3
2
Заявки bj
-1
30
3
10
50 6
65
25
130
Суммарные затраты на перевозки будут равны Z =10 ⋅ 5+10 ⋅ 2+15 ⋅ 6+20 ⋅ 4+25 ⋅ 8+50 ⋅ 3= 590 (р.) На четвертой итерации опять для каждой занятой клетки полученного нового опорного плана рассчитываются значения потенциалов (табл. 3.8). u1+v1=5,
u1+v2=2,
u1+v3=6,
u2+v1=4,
u2+v4=8,
u3+v3=3.
40 Находятся значения теневых стоимостей для незанятых клеток: ∆14= –2,
∆22= –6,
∆23= –7,
∆31= –7,
∆32= –2,
∆34= –4.
Все симплексные разности получились отрицательными, значит данный план перевозок является оптимальным. Выше отмечалось, что транспортная таблица, содержащая опорное решение ТЗ, должна содержать ровно m+n–1 занятых клеток. Случай, когда число занятых клеток меньше указанного, называется вырожденным. Этот случай соответствует слиянию (говорят еще, склеиванию) двух опорных точек в одну. Для отыскания оптимального решения при вырожденном опорном плане необходимо ввести нулевую перевозку (говорят, расклеить опорные точки), чтобы использовать в качестве заполненной одну из пустых клеток. Такая клетка определяется при расчете потенциалов: это – та свободная клетка, значений потенциалов которой не хватает для решения системы уравнений вида (3.7). В дальнейшем с этой клеткой оперируют как с занятой. Задание 3. Для ТЗ, полученной от преподавателя, найти оптимальный план перевозок методом потенциалов, использовав опорный план, полученный методом СЗУ. Открытая модель транспортной задачи На практике достаточно редко суммарный запас поставщиков и общее количество груза, заявленное потребителями, совпадают. Как правило, они различаются. Эта ТЗ называется несбалансированной или открытой. Математическая модель такой задачи называется открытой моделью. Если сумма запасов больше суммы заявок m
n
i =1
j =1
∑ ai > ∑ b j ,
то все заявки могут быть удовлетворены, но при этом не все запасы будут израсходованы. Задача может быть сведена к сбалансированной ТЗ, если ввести в рассмотрение некий «фиктивный» пункт назначения Bф, условно приписав ему заявку, равную избытку запасов над заявками m
n
b™ = ∑ ai − ∑ b j . i =1
(3.10)
j =1
Тогда задача сводится к ТЗ с правильным балансом. Стоимости перевозок из ПО Ai в фиктивный ПН Bф принимаются равными нулю: ведь фактически в пункт Bф ничего перевозиться не будет. Поэтому для любого пункта отправления стоимость ciф=0.
41 В транспортную таблицу вводится дополнительный столбец, соответствующий пункту назначения Bф, в нём проставляются нулевые стоимости перевозок. После этого задача решается как сбалансированная (или закрытая) ТЗ, и для неё находится оптимальный план перевозок x11 x 21
x12 x 22
... ...
x1n x2n
... x m1
... xm 2
... ... ... x mn
x1™ x2 ™ ...
.
x m™
При этом все перевозки, стоящие в правом столбце, фактически никуда не отправляются, а остаются на соответствующих ПО. Если запасов не хватает для удовлетворения всех заявок: m
n
i =1
j =1
∑ ai < ∑ b j ,
то аналогично предыдущему случаю вводится фиктивный поставщик Аф с запасом груза, равным избытку заявленного груза над общим запасом. Стоимость перевозок от этого поставщика к любому потребителю сф принимается равной нулю. При таком подходе не учитывается, в каком порядке удовлетворяются заявки (не учитывается важность заявки). Задание 4. Решить открытую ТЗ в соответствии с вариантом задания, полученного от преподавателя. Определить, сколько и на какой лесосеке останется не вывезенной древесины, либо сколько древесины останется на одном из перегрузочных пунктов. Решение ТЗ с помощью процедуры «Поиск решения» Записывается математическая модель указанной задачи 5x11+2x12+6x13+11x14+4x21+7x22+12x23+8x24+9x31+1x32+3x33+10x34→min , x11 + x12 + x13 + x14 = 35 ; x 21 + x 22 + x 23 + x 24 = 45 ; x31 + x32 + x33 + x34 = 50 ; x11 + x 21 + x31 = 30 ; x12 + x 22 + x32 = 10 ; x13 + x 23 + x33 = 65 ; x14 + x 24 + x34 = 25 ; x ≥ 0; x = целые (i = 1, 2, 3; j = 1, 2, 3, 4). ij ij
42 Исходные данные и математическая модель вводятся в виде таблицы (Рис. 3.1).
Рис. 3.1 В ячейках B2 : E4 введены стоимости перевозок, в ячейках F2 : F4, B5 : E5 – количество запасов и заявок соответственно. B8 : E10 – рабочие (изменяемые) ячейки, в которых будут вычисляться значения переменных задачи xij. В них вводятся начальные значения равные 0. В ячейках F8 : F10 записываются формулы для вычисления левых частей ограничений: в F8 должна быть сумма ячеек B8 : E8, в F9 должна быть сумма ячеек B9 : E9, в F10 должна быть сумма ячеек B10 : E10, в B11 должна быть сумма ячеек B8 : B10, в C11 должна быть сумма ячеек C8 : C10, в D11 должна быть сумма ячеек D8 : D10, в E11 должна быть сумма ячеек E8 : E10. Целевая функция помещается в ячейку G6: СУММПРОИЗВ (B3 : E5; B8 : E10). Далее вызывается процедура Поиск решения, и заполняются все ее поля ввода. В окне Параметры устанавливается Линейная модель, что соответствует решению задачи симплекс-методом. Выполнив процедуру Поиск решения, получают результаты (Рис. 3.2):
43 Рис. 3.2 Задание 5. Решить ТЗ, полученную в качестве индивидуального задания, с помощью процедуры «Поиск решения» табличного процессора Excel. Контрольные вопросы 1. В чем состоит особенность ТЗ как частного случая ЗЛП? 2. Что называется перевозками и планом перевозок в ТЗ? 3. Чему соответствует число уравнений ТЗ и каково число независимых уравнений? 4. Что такое базисные и свободные переменные ЗЛП? 5. Как определить для ТЗ общее число решений (перевозок), число базисных и свободных решений? 6. Что называется допустимым планом ТЗ? Опорным планом? Оптимальным планом? Транспортной таблицей? 7. В чем состоит метод СЗУ? Метод наименьшего элемента? Метод Фогеля? Для чего используется метод потенциалов? 8. На основании каких перевозок и как определяются потенциалы поставщиков и потребителей? 9. Как определяется цена цикла? Что она характеризует? 10. Как определяется наименьшее количество единиц груза, переносимого по циклу? 11. Каково число уравнений в системе при определении потенциалов? 12. Что такое псевдостоимость? Теневая стоимость? 13. Как определить оптимальность полученного плана? 14. Чем характеризуется вырожденный опорный план? 15. Что понимается под «склеиванием» опорных точек плана? 16. Как ищется оптимальное решение при вырожденном опорном плане? 17. Что такое несбалансированная или открытая ТЗ? 18. Как привести открытую ТЗ к закрытой? 19. Что понимается под естественным базисом ЗЛП? 20. В каких случаях и как вводится искусственный базис в ЗЛП? 21. Зачем вводится искусственный базис и как интерпретируются его переменные?
43 ЛАБОРАТОРНАЯ РАБОТА №4 (4 часa) Тема работы: Формулировка задачи о назначениях и построение ее математической модели. Приведение задачи к сбалансированному виду. Поиск оптимального решения с помощью процедуры «Поиск решения». Содержание работы и порядок ее выполнения Лабораторная работа включает в себя вариант задачи составления оптимального по наибольшей компетентности плана распределения работников по вакантным местам и рассчитана на 4 часа лабораторных занятий. Условие задачи выдается студентам преподавателем, руководящим лабораторными занятиями. На занятии студент знакомится с содержанием работы, а во внеаудиторное время изучает необходимую литературу, составляет по исходным данным математическую модель задачи. Затем с помощью процедуры Поиск решения табличного процессора Excel производится нахождение оптимального решения задачи. Методика использования процедуры «Поиск решения» описана в лабораторной работе №2. На втором занятии студент отчитывается по теоретической части лабораторной работы, предоставляет отчет о работе преподавателю и защищает полученные результаты. Формулировка задачи о назначениях и построение ее математической модели Задача о назначениях – это распределительная задача, в которой для выполнения каждой работы требуется один и только один ресурс (один человек, одна автомашина и т.д.), а каждый ресурс может быть использован на одной и только одной работе. Другими словами − ресурсы не делимы между работами, а работы не делимы между ресурсами. Таким образом, задача о назначениях является частным случаем ТЗ. Задача о назначениях имеет место при назначении людей на должности или работы, автомашин на маршруты, водителей на машины, при распределении групп по аудиториям, научных тем по научно-исследовательским лабораториям и т.п. Исходные параметры модели задачи о назначениях 1. n – количество ресурсов, m – количество работ. 2. ai = 1 – единичное количество ресурса Ai (i = 1, n ), например: один работник; одно транспортное средство; одна научная тема и т.д. 3. bj = 1 – единичное количество работы Bj (j = 1, m ), например: одна должность; один маршрут; одна лаборатория.
44 4. cij – характеристика качества выполнения работы Bj с помощью ресурса Ai. Например, компетентность i-го работника при работе на j-й должности; время, за которое i-е транспортное средство перевезет груз по j-му маршруту; степень квалификации i-й лаборатории при работе над j-й научной темой. Искомые параметры 1. xij – факт назначения или не назначения ресурса Ai на работу Bj:
0, если i - ресурс не назначен на j - ю работу, xij = 1 , если i - й ресурс назначен на j - ю работу.
2. L(x) – общая (суммарная) характеристика качества распределения ресурсов по работам. Общий вид транспортной матрицы задачи о назначениях Ресурсы, Ai A1 A2 … An Количество работ
Работы, Bj B1 B2 … c11 c12 … c21 c22 … … … … cn1 cn2 … 1
1
…
Bm c1m c2m … cnm
Количество ресурсов 1 1 … 1
1
∑ ai = ∑ b j
n
m
i =1
j =1
Модель задачи о назначениях n
m
L( X ) = ∑ ∑ cij xij → min , i =1 j =1
n ∑ xij = 1 (i = 1, n ), j =1 n ∑ xij = 1 (j = 1, m ), i =1 0, x = ij (i = 1, n; j = 1, m ). 1,
(4.1)
Специфическая структура задачи о назначениях позволила разработать так называемый венгерский метод ее решения. Поэтому, хотя в Excel такие задачи решаются обычным симплекс-методом, в лабораторной работе требуется построить модель задачи о назначениях вида (4.1). В некоторых случаях, например, когда cij – это компетентность, опыт работы, или квалификация работников, условие задачи может требовать максимизации ЦФ,
45 в отличие от (4.1). В этом случае ЦФ L(x) заменяют на L1(x)= – L(x) и решают задачу с ЦФ L1(x)→min, что равносильно решению задачи с ЦФ L(x)→max. Постановка задачи о назначениях Отдел кадров предприятия устроил конкурсный набор специалистов на две вакантные должности. На эти новые места (НМ) претендуют 3 прежних сотрудника (ПС), уже работающие в других отделах, и 4 новых сотрудника (НС). Номера новых сотрудников, новых и прежних мест выбираются по вариантам преподавателем, руководящим лабораторными занятиями. Номера прежних мест (ПМ) являются номерами прежних сотрудников (ПС). Отдел кадров оценил по десятибалльной шкале компетентность новых сотрудников (табл.4.1) и прежних сотрудников (табл.4.2) для работы и на новых местах, и на прежних местах (ПМ), то есть занимаемых прежними сотрудниками. Необходимо учесть, что руководство предприятия, во-первых, предпочитает, чтобы прежние сотрудники не претендовали на места друг друга, и, во-вторых, не намерено увольнять прежних сотрудников. Необходимо распределить сотрудников по должностям наилучшим образом. Рекомендации к решению задачи о назначениях 1. Процесс приведения задачи о назначениях к сбалансированному виду имеет свои особенности по сравнению с ТЗ. Если условие сбалансированности задачи (4.1) не выполняется из-за нехватки работ или исполнителей в количестве kab, то для создания баланса надо ввести такое же количество kab, фиктивных строк или столбцов. 2. Особенностью решения данной задачи является моделирование системы предпочтений, сложившейся у руководства предприятия по описанному в условии задачи кадровому вопросу. 3. В задаче о назначениях увольнение прежнего сотрудника или непринятие на работу нового сотрудника моделируется попаданием единицы в фиктивный столбец матрицы решений задачи, поэтому для запрещения или разрешения таких ситуации необходимо использовать соответствующие «тарифы». 4. Значения «тарифов» c ijз выбираются в зависимости от направления оптимизации ЦФ задачи о назначениях (L(x)→max или L(x)→min). При этом руководствуются принципом «невыгодности» запрещенных назначений. Так, если L(x) – это общая компетентность работников, то в качестве запрещающих надо выбирать нулевые компетентности c ijз . А если L(x) – это общее время прохождения машинами транспортных маршрутов, то в качестве запрещающих надо выбирать значения c ijз , превосходящие по величине максимальные реальные значения cij.
46 5. При решении задач о назначении в Excel необходимо учитывать, что переменные xij являются булевыми. Таблица 4.1 Компетентность новых сотрудников НС1 НС2 НС3 НС4 НС5 НС6 НС7 НС8
НМ1 6 5 6 7 7 8 9 7
НМ2 5 5 7 8 6 8 8 7
НМ3 7 8 5 7 6 9 9 8
НМ4 6 8 6 6 5 7 9 9
ПМ1 5 7 4 5 5 6 8 7
ПМ2 6 6 5 7 4 7 7 8
ПМ3 7 4 4 6 5 8 8 9
ПМ4 6 5 5 8 5 7 9 6
ПМ5 7 8 6 5 4 9 8 7
ПМ6 5 8 6 5 6 8 7 8
Таблица 4.2 Компетентность прежних сотрудников ПС1 ПС2 ПС3 ПС4 ПС5 ПС6
НМ1 7 8 6 7 8 4
НМ2 6 9 5 9 7 5
НМ3 6 7 6 6 8 6
НМ4 7 7 6 8 8 4
Компетентность на занимаемом месте 7 8 6 8 7 5
Примерные вопросы на защите работы 1. Какова постановка задачи о назначениях? 2. В чем отличие модели задачи о назначениях от модели ТЗ? 3. Каковы исходные и искомые параметры задачи о назначениях? 4. Как записывается математическая модель задачи о назначениях. 5. Как записать модель задачи о назначениях, подразумевающую максимизацию ЦФ, в виде (4.1)? 6. Каким образом в модели задачи о назначениях можно запретить конкретное назначение? 7. В чем особенности процесса приведения задачи о назначениях к сбалансированному виду? 8. Пояснить модель задачи о назначениях, построенную по заданному варианту.
47 ЛАБОРАТОРНАЯ РАБОТА № 5 (6 часов) Тема работы: Методы сетевого планирования. Основные понятия сетевой модели. Расчет и анализ сетевых моделей. Определение временных параметров работ и событий. Поиск критических путей и полных резервов работ. Содержание работы и порядок ее выполнения Лабораторная работа включает в себя вариант задачи составления сетевого графика и рассчитана на 4 часа лабораторных занятий. Условия задачи выдаются студентам руководителем лабораторных занятий. Студент должен построить сетевой график работ, рассчитать временные параметры событий и работ, построить график привязки сетевой модели, определить критические пути и их длительность. Определить численные значения свободных и полных резервов каждой работы, результаты свести в таблицу. Результаты выполнения лабораторной работы оформляются студентом в виде отчета. Основные понятия сетевой модели Построение сетевой модели (структурное планирование) начинается с разделения проекта на четко определенные работы, для которых определяется продолжительность. Работа – это некоторый процесс, приводящий к достижению определенного результата, требующий затрат каких-либо ресурсов и имеющий протяженность во времени. Работа может быть: 1. Действительной, т.е. требующей затрат времени и ресурсов; 2. Фиктивной, т.е. формально не требующей затрат времени и ресурсов; 3. Ожидание, т.е. требующей временных затрат, но не требующей расхода ресурсов. Событие – это момент времени, когда завершаются одни работы и начинаются другие. Событие не имеет протяженности во времени. Взаимосвязь работ и событий, необходимых для достижения конечной цели проекта, изображается с помощью сетевого графика (сетевой модели). Работы изображаются стрелками, которые соединяют вершины, изображающие события. Начало и окончание любой работы описываются парой событий, которые называются начальным и конечным событиями. Для указания конкретной работы используют код работы (i, j), состоящий из номеров начального (i-го) и конечного (j-го) событий. Событие считается наступившим только тогда, когда закончатся все входящие в него работы.
48 Поэтому работы, выходящие из некоторого события, не могут начаться, пока не будут завершены все работы, входящие в это событие. Событие, не имеющее предшествующих ему событий, называют исходным. Событие, которое не имеет последующих событий и отражает конечную цель проекта, называется завершающим. При построении сетевого графика необходимо выполнять следующие правила: – для действительных работ используются сплошные стрелки, а для фиктивных – пунктирные; – каждая операция должна быть представлена только одной стрелкой; – между одними и теми же событиями не должно быть параллельных работ (работ с одинаковыми кодами); – следует избегать пересечения стрелок; – не должно быть стрелок, направленных справа налево; – не должно быть висячих событий (не имеющих предшествующих событий), кроме исходного; – не должно быть тупиковых событий (не имеющих последующих событий), кроме завершающего; – не должно быть циклов. Построение сетевого графика начинают с выявления исходных работ модели. Это некоторая работа (несколько работ), которая может выполняться, не ожидая окончания каких-либо других работ. Ее начальным событием является исходное событие. Завершающей работой (работами) является та, после которой не должны выполняться никакие другие работы. Если несколько работ имеют общее начальное и общее конечное события, то они являются параллельными, имеют одинаковый код, что недопустимо. Для устранения параллельности работ вводят дополнительное событие и фиктивную работу таким образом, чтобы конечные события работ различались. Пример построения сетевой модели Задача. Построить сетевую модель программы опроса общественного мнения, которая включает разработку анкет (A; 1 день), распечатку анкет (B; 0,5 дня), прием на работу (C; 2 дня) и обучение персонала (D; 2 дня), выбор опрашиваемых лиц (E; 2 дня), рассылку им анкет (F; 1 день), анализ полученных данных (G; 5 дней). Решение. Из условия задачи известно содержание работ, но явно не указаны взаимосвязи между ними. Поэтому необходимо проанализировать смысл каждой работы и выяснить, какие работы должны ей непосредственно предшествовать. Исходной работой, начинающей сетевой график, в данном случае является прием на работу (С), поскольку все остальные работы должны
49 выполняться уже принятыми на работу сотрудниками. Перед выполнением всех работ по опросу общественного мнения сотрудников необходимо обучить персонал (D). Перед тем как разослать анкеты (F), их надо разработать (A), распечатать (B) и выбрать опрашиваемых лиц (E), причем работу с анкетами и выбор лиц можно выполнять одновременно. Завершающей работой проекта является анализ полученных данных (G), который нельзя выполнить без предварительной рассылки анкет (F). В результате получается сетевая модель (рис. 5.1.): 4 A C
D
1
2
B E
3
F 5
G 7
6
Рис. 5.1. Задание 1. На основе условия, выданного преподавателем построить сетевую модель. Расчет и анализ сетевых моделей Календарное планирование предусматривает определение моментов начала и окончания каждой работы и i T p(i) других временных характеристик сетевого графика. Это позволяет проанализировать сетевую модель, выявить R(i) T п (i) критические работы, непосредственно определяющие срок выполнения проекта, провести оптимизацию использования ресурсов (временных, финансовых, исполнителей). Расчет сетевой модели начинают с временных параметров событий, которые вписывают непосредственно в вершины сетевого графика: Tр(i) – ранний срок наступления события i, минимально необходимый для выполнения всех работ, которые предшествуют событию i, Tп(i) – поздний срок наступления события i, превышение которого вызовет аналогичную задержку наступления завершающего события сети, R(i)= Tп(i) – Tр(i) – резерв события i, т.е. время, на которое может быть отсрочено наступление события i без нарушения сроков завершения проекта. Ранние сроки свершения событий Tр(i) рассчитываются от исходного (И) к k 1 Tp(k1) t(k 1 ,i) завершающему (З) событию следующим образом: 1) для исходного события Tр(И) =0 , i T p (i) 2) для всех остальных событий
T p (i ) = max[T p (k ) + t (k , i )], ∀( k ,i )
k 2 Tp(k2)
t(k 2 ,i)
50 где максимум берется по всем работам (k, i), входящим в событие i; t(k,i) – длительность работы (k,i). Поздние сроки свершения событий Tп(i) рассчитываются от завершающего к исходному событию: 1) для завершающего события Tп(З)=Tр(З), 2) для всех остальных событий
TП (i ) = min[TП ( j ) − t (i, j )] ,
j1 t(i,j1 )
TП(j1)
i T П (i)
t(i,j2 )
j2 TП(j2)
∀( i , j )
где минимум берется по всем работам (i, j), выходящим из события i, t(k,i) – длительность работы (k,i). Временные параметры работ определяются на основе ранних и поздних сроков событий: – Tрн(i,j) = Tр(i) – ранний срок начала работы, – Tро(i,j) = Tр(i) + t(i,j) – ранний срок окончания работы, – Tпо(i,j) = Tп(j) – поздний срок окончания работы, – Tпн(i,j) = Tп(j) – t(i,j) – поздний срок начала работы, – Rп(i,j) = Tп(j) – Tр(i) – t(i,j) – полный резерв работы показывает максимальное время, на которое можно увеличить длительность работы (i,j), или отсрочить ее начало, чтобы не нарушился срок завершения проекта в целом, – Rc(i,j) = Tp(j) – Tр(i) – t(i,j) – свободный резерв работы показывает максимальное время, на которое можно увеличить продолжительность работы (i,j), или отсрочить ее начало, не меняя ранних сроков начала последующих работ, – R(i) = Tп(j) – Tр(i) – резерв времени i-того события, определяется как разность между поздним и ранним сроками его свершения. Путь – это последовательность работ в сетевом графике, в которой конечное событие одной работы совпадает с начальным событием следующей за ней работы. Полный путь – это путь от исходного до завершающего события. Критический путь – максимальный по продолжительности полный путь. Работы, лежащие на критическом пути, называют критическими. Критические работы имеют нулевые свободные и полные резервы. Подкритический путь – полный путь, ближайший по длительности к критическому пути. Для проведения анализа временных параметров сетевой модели используют график привязки, который отображает взаимосвязь выполняемых работ во времени. По вертикальной оси графика привязки откладываются коды работ, по горизонтальной оси – отрезки, соответствующие длительностям работ (раннее начало и раннее окончание работ). График привязки можно построить
51 на основе данных о продолжительности работ. Основное правило составления: работа (i,j), может выполняться только после того, как будут выполнены все предшествующие ей работы (k,i). При поиске критических путей на сетевом графике используются следующие условия его критичности: – необходимое условие – нулевые резервы событий, лежащих на критическом пути, – достаточное условие – нулевые полные резервы работ, лежащих на критическом пути. Пример построения сетевой модели и расчета временных параметров событий Задача. Исходные данные для построения заданы в виде таблицы Текущая работа A B C D E F G H J K L M
Предшествующая работа – – – A B B D D EF FC HJ K
Длительность работы 4 5 2 3 2 4 8 9 6 8 10 6
Построить сетевую модель и определить критические пути модели.
52 Решение. Построим сетевую модель (рис. 5.2) по вышеуказанным правилам: 4
D
7
3
A
H
4 1
B
2
E
J
5
2
5 C 2
9
G 8 8
I
M
0
4 3
9
10
6 F
L
K
6 6
8
Рис. 5.2 Начальными работами являются А, В, С, так как им не предшествуют никакие работы. Они обозначаются тремя стрелками, выходящими из начального события 1. Далее наносится работа D. Она должна начинаться после окончания выполнения работы А. Графически работа D изображается стрелкой выходящей из события 4, которое обозначает завершение работы А. Работы E и F являются параллельными (обе начинаются после завершения работы B и предшествуют работе J). Для их распараллеливания вводится фиктивная работа I и событие 3. Фиктивная работа изображается пунктирной линией и ее продолжительность равна нулю. Аналогично наносятся другие работы. Теперь рассчитаем временные параметры событий. Согласно правилу, определение ранних сроков производится от исходного события к завершающему. Для исходного события 1, очевидно, tр(1)=0. Для второго события согласно вышеприведенной формуле tр(2) = tр(1) + t(1,2) = 0 + 5 = 5. Третьему событию предшествует два события (первое и второе) поэтому tр(3) = max [tр(0) + t(0,3); tр(1) + t(1,3)] = max [0 +2; 5 + 4] = max [2; 9] =9. Аналогично, определяются ранние сроки свершения других событий. Длина критического пути равна времени завершения последнего девятого события tкр = tр(9) = 26 (дней). При определении поздних сроков свершения событий расчет ведется справа налево (от завершающего к исходному событию). Для завершающего события поздний срок свершения события совпадает с ранним сроком tп(9) = tр(9) =26. Для восьмого события поздний срок свершения согласно вышеприведенной зависимости будет равен
53 tп(8) = tп(9) – t(8,9) = 26 – 10 = 16. Для седьмого события существуют два последующих события (восьмое и девятое) поэтому tп(7) = min [tп(8) – t(7,8); tп(9) – t(8,9)] = min [16 –9; 26 – 8] = min [7; 18] =7. Аналогично, определяются поздние сроки свершения для других событий. Теперь рассчитываются резервы R(i) событий как разность между поздним и ранним сроком свершения i-го события. Например, для шестого события R(6)= tп(6) – tр(6) = 20 – 12 = 8 (дней). В итоге получается сетевая модель (рис. 5.3) с рассчитанными временными параметрами событий.
4 4 0 4
A
D
7 7 0 7
3
H
4 1 0 0 0
B 5
2 5 1 6
E
5 9 1 10
2
C
F
2
4
I
9
J
G 8 8 16 0 16
6
0
3 9 1 10
L 10
9 26 0 26
M K 8
6 17 3 20
6
Рис. 5.3 Осталось определить критический путь (пути). Согласно необходимому условию два полных пути L1=1,4,7,8,9 и L2=1,4,7,9 могут быть критическими, так как резервы событий для всех работ на предполагаемых критических путях равны нулю. Из сетевого графика видно, что проверять стоит только работы G, H, L, которыми L1 и L2 различаются. Проверим достаточное условие критичности для работ H (7,8) и G (7,9) Rп(7,9) = tп(9) – tp(7) – t(7,9) = 26 – 7 – 8 = 11 Rп(7,8) = tп(8) – tp(7) – t(7,8) = 16 – 7 – 9 = 0 Раз полный резерв работы H не равен нулю, путь L2 = 1,4,7,9 не является критическим. Таким образом, данная сетевая модель имеет единственный критический путь L2 = 1,4,7,8,9 длительностью tкр = tр(9) = 26 дней.
54 Задание 2. На основе условия, выданного преподавателем, построить сетевую модель, рассчитать временные параметры событий и работ. Определить критический путь (пути). Общие рекомендации При поиске критических путей следует помнить, что признаком критической работы являются нулевые значения резервов времени. Это означает, что каждая последующая критическая работа будет начинаться строго в момент окончания предыдущей критической работы. Вследствие этого, сдвиг любой из работ критического пути обязательно приведет к увеличению первоначальной длительности проекта (Tк). Критический путь является полным, т.е. соединяет исходное и завершающее события сети. Из вышеприведенных соображений следует способ определения критического пути на графике привязки: 1) найти на графике привязки и выписать работу (i,j), которая заканчивается позже всех остальных. Это будет последняя работа критического пути (ее конечное событие иметь номер завершающего события сети), 2) из всех работ сети (k,i), конечное событие которых i совпадает с начальным событием i работы (i,j), найденной в п. 1), выбрать и выписать ту, которая на графике вплотную примыкает к работе (i,j), 3) из всех работ сети (l,k), конечное событие которых k совпадает с начальным событием k работы (k,i), найденной в п. 2), выбрать и выписать ту, которая на графике вплотную примыкает к работе (k,i), 4) продолжать п. 3) до тех пор, пока не будет найдена исходная работа сети, т.е. начинающаяся в нулевой момент времени (ее начальное событие будет иметь номер исходного события сети, например 1). Если в сетевой модели несколько критических путей, то, выполняя вышеописанные действия, можно обнаружить несколько работ, удовлетворяющих сформулированным требованиям. В этом случае необходимо продолжать поиск по каждой из таких работ в отдельности. В сложных сетевых моделях подобные разветвления могут привести к большим затратам времени на поиск критически путей. Пример построения графика привязки Задача. Используя исходные данные предыдущей задачи, построить график привязки сетевой модели, определить критические пути и их длительность, численные значения свободных и полных резервов каждой работы. Решение. Для наглядного представления выполнения проекта используется график привязки сетевой модели. По одной оси отмечаются коды
55 работ, по другой временные промежутки. Каждая работа представляется отрезком, маркирующимся номером начального и конечного событий работы. Длина отрезка соответствует продолжительности работы. Резервы времени обозначаются пунктирной линией. В рассматриваемой задаче работа с кодом (1-2) начинается с нулевой отметки и, соответственно длительности, будет длиной в 5 единиц. Следующая работа с кодом (1-3) откладывается также от нулевой отметки. После того как откладываются все работы, оканчивающиеся в событии 3 (в нашем случае это работы (1-3) и (2-3)), выбирается самая дальняя точка (в нашем случае это точка окончания работы (2-3)) и от нее откладываются работы, начинающиеся в событии 3 (события (3-5) и (3-6)). Аналогично строятся все остальные работы составляющие сетевую модель. В итоге получается график привязки сетевой модели, представленный на рис. 5.4. 8-9 7-9 7-8 6-9 5-8 4-7 3-6 3-5 2-5 2-3 1-4 1-3 1-2
8
Код работы
7
9 11
9 8
7
6 5 4
3
1
7 3 2 2
5
2
6
35 3
4
1 1 1
8
9
7
3 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 t,дни
Рис. 5.4 Приступим к поиску критических путей. Начнем с работ, завершающих проект. На графике привязки (рис. 5.4) единственная работа (8-9) заканчивается позже остальных в завершающем событии № 9. Запишем эту работу как критическую Lкр1=. . . (8-9).
(5.1)
Далее найдем критическую работу, предшествующую работе (8-9). Код этой работы должен оканчиваться на 8. Таких работ две – (7-8) и (5-8). Но только одна из них, работа (7-8) по времени своего окончания вплотную «примыкает» на графике к началу работы (8-9). Допишем слева найденную критическую работу (7-8) к выражению (5.1)
56 Lкр1=. . . (7-8);(8-9).
(5.2)
Теперь найдем критическую работу, предшествующую (7-8). Код этой работы должен оканчиваться на 7. Только работа (4-7) по времени своего окончания вплотную «примыкает» на графике к началу работы (7-8). Допишем слева найденную критическую работу (4-7) к выражению (5.2) Lкр1=. . . (4-7);(7-8);(8-9).
(5.3)
Снова ищем следующую критическую работу. Код этой работы должен оканчиваться на 4. Работа (1-4) по времени своего окончания вплотную «примыкает» на графике к началу работы (4-7). С этой работы начинается критический путь Lкр1. В итоге получаем Lкр1=(1-4);(4-7);(7-8);(8-9). (5.4) В другой форме записи Lкр1=1,4,7,8,9. Для наглядности выделим на графике привязки критические работы жирной линией. Теперь осуществим поиск резервов работ. Для всех найденных критических работ впишем в табл. 5.1 нулевые значения свободного и полного резервов. Рассмотрим некритические работы, начиная с конца табл. 5.1. Таблица 5.1 Код работы t(i,j) Rc(i,j) Rп(i,j) Критичность 1-2 (B) 5 0 1 – 1-3 (C) 2 7 8 – 1-4 (A) 4 0 0 критическая 2-3 (F) 4 0 1 – 2-5 (E) 2 2 3 – 3-5 (I) 0 0 1 – 3-6 (K) 8 0 3 – 4-7 (D) 3 0 0 критическая 5-8 (J) 6 1 1 – 6-9 (M) 6 3 3 – 7-8 (H) 9 0 0 критическая 7-9 (G) 8 11 11 – 8-9 (L) 10 0 0 критическая Работа (7-9), согласно графику привязки (рис. 5.4) заканчивается в 15-й день, а завершающее событие 9 сети, в которое она входит, наступает лишь в 26-й день. Т.е. если работа (7-9) задержится на 11 дней, то это не повлияет на срок выполнения проекта (Lкр=26 дней). Поскольку (7-9) завершающая работа сети, то ее полный и свободный резервы равны
57 Rп(7-9)= Rc(7-9)=11. Работа (6-9) заканчивается в 23-й день, а завершающее событие 9 сети, в которое она входит, наступает лишь в 26-й день. То есть если работа (6-9) задержится на 3 дня, то это не повлияет на срок выполнения всего проекта. Поскольку (6-9) завершающая работа сети, то ее полный и свободный резервы равны Rп(6-9)= Rc(6-9)=3. Работа (5-8) заканчивается в 15-й день, в то время как последующая работа (8-9) начинается в 16-й день. Следовательно, работа (5-8) может задержаться на 1 день и это никак не повлияет на время начала последующей работы (8-9), т.е. Rc(5-8)=1. Правило 1. Полный резерв любой работы складывается из собственного свободного резерва и минимального из полных резервов непосредственно следующих работ. За работой (5-8) следует только критическая работа (8-9) с нулевым полным резервом. Поэтому, согласно правилу 1 Rп(5-8)= Rc(5-8) + Rп(8-9)=1+0=1. Работа (3-6) заканчивается в 17-й день, в этот же день начинается следующая работа (6-9), т.е. любая задержка выполнения работы (3-6) приведет к задержке начала работы (6-9). Это означает, что работа (3-6) не имеет свободного резерва Rc(3-6)=0. Но если сдвинуть во времени работу (3-6) на 3 дня, то работа (6-9) также сдвинется на 3 дня и это не нарушит срок выполнения проекта, так как у работы (6-9) есть временной резерв. Таким образом, согласно правилу 1 Rп(3-6)= Rc(3-6) + Rп(6-9)=0+3=3. Работа (3-5) заканчивается в 9-й день, в этот же день начинается следующая работа (5-8), это означает, что работа (3-5) не имеет свободного резерва Rc(3-5)=0. Полный резерв согласно правилу 1 будет равен Rп(3-5)= Rc(3-5) + Rп(5-8)=0+1=1. Работа (2-5) заканчивается в 7-й день, в то время как последующая работа (5-8) начинается в 9-й день. Следовательно, работа (2-5) может задержаться на 2 дня и это никак не повлияет на время начала последующей работы (5-8), то есть Rc(2-5)=2. Кроме того, поскольку последующая работа (5-8) имеет резерв в 1 день, то, в общем, работу (2-5) можно сдвинуть на 3 дня и это не нарушит сроков проекта, т.е. Rп(2-5)= Rc(2-5) + Rп(5-8)=2+1=3.
58 Работа (2-3) заканчивается на 9-й день, и в этот же день начинаются следующие работы (3-5) и (3-6). То есть работа (2-3) не имеет свободного резерва времени Rc(2-3)=0. Поскольку после работы (2-3) следуют две работы с различными полными резервами, то согласно правилу 1 Rп(2-3)= Rc(2-3) + min[Rп(3-5); Rп(3-6)]=0+min[1;3]=0+1=1. Работа (1-3) заканчивается во 2-й день, а следующие за ней работы (3-5) и (3-6) начинаются на 9-й день, т.е. Rc(1-3)=7. Полный резерв будет равен Rп(1-3)= Rc(1-3) + min[Rп(3-5); Rп(3-6)]=7+min[1;3]=7+1=8. Наконец, работа (1-2) заканчивается в 5-й день, а следующие за ней работы (2-5) и (2-3) начинаются в тот же день, т.е. Rc(1-2)=0. Полный резерв, согласно правилу 1, будет равен Rп(1-2)= Rc(1-2) + min[Rп(2-3); Rп(2-5)]=0+min[1;3]=0+1=1. Ненулевые свободные резервы работ обозначены на графике привязки в виде пунктирной линии (рис. 5.4). Задание 3. Построить график привязки и определить свободные и полные резервы каждой работы. Вопросы для самопроверки 1. Для решения каких задач предусмотрены методы сетевого планирования? 2. Что называют работой в сетевом планировании? Событием? 3. Какая работа называется действительной? Ожиданием? Фиктивной? 4. Какими способами задаются исходные данные для построения сетевой модели? 5. Что называют сетевым графиком? 6. Каким образом строится сетевой график? 7. Какие правила необходимо соблюдать при построении сетевого графика? 8. Что понимается под расчетом сетевых моделей? 9. Какие основные временные параметры определяют при анализе сетевой модели проекта?
59 10. Каким образом определяются ранние и поздние сроки наступления события? 11. Что такое путь в сетевом графике, какие виды путей выделяют при сетевом моделировании? 12. Какие условия критичности характерны для критического пути? 13. Для чего используется график привязки? 14. Правила построения графика привязки? 15. Принципы вычисления резервов работ. 16. Какова взаимосвязь полного и свободного резервов работы?
59 ЛАБОРАТОРНАЯ РАБОТА № 6 (4 часа) Тема работы: Понятие прогнозирования и элементы регрессионного анализа. Метод наименьших квадратов и линейная регрессия в Microsoft Excel. Понятие прогнозирования Прогноз − это некоторое утверждение относительно будущего. Этот термин заимствован из греческого языка: πρόγνωσις = προ (вперед) + γνωσις (узнавание), т.е. предсказание или предвидение. Прогнозирование − необходимый элемент экономического планирования различного уровня, который позволяет вырабатывать прогнозы, касающиеся спроса, прибыли, доходов и расходов, изменения производительности, цен, доступности энергии и сырья, процентных ставок, ключевых экономических факторов (например, ВВП − внутреннего валового продукта, инфляции, государственных займов), стоимости акций и других ценных бумаг. Часто прогнозы служат основой для принятия производственных решений, поэтому можно с полным основанием говорить о том, что прогнозирование является неотъемлемой составной частью управления производством. В настоящее время разработано и используется множество разнообразных методов прогнозирования. Тем не менее, все из них обладают следующими общими свойствами: 1 В основе прогнозирования лежит предположение о том, что та же причинно-следственная связь, которая существовала в прошлом, сохранится и в будущем. 2 Прогнозирование не является точной наукой, т.е. прогнозы редко бывают совершенными (абсолютно точными). 3 Прогнозы для групп объектов обычно более точны, чем прогнозы для отдельных объектов, потому что ошибки прогнозирования в группе объектов, как правило, нейтрализуют друг друга. 4 Точность прогноза уменьшается с увеличением периода времени, который охватывается данным прогнозом − так называемого горизонта прогноза. Поскольку краткосрочные прогнозы содержат меньше неопределенности, чем долгосрочные, они, как правило, оказываются более точными. В зависимости от протяженности горизонта прогноза в экономике различают следующие виды прогнозов: − краткосрочные (до одного года, но обычно на квартал), − среднесрочные (от одного года до трех лет), − долгосрочные (на три года и больше).
60 В общем случае процесс прогнозирования включает следующие шесть основных этапов: 1 Определение цели прогноза. 2 Задание горизонта прогноза. 3 Выбор метода прогнозирования. 4 Сбор и анализ соответствующих данных. 5 Подготовка прогноза. 6 Контроль прогноза. Существуют два общих подхода к прогнозированию: качественный и количественный. Методы качественного подхода при подготовке прогноза опираются главным образом на субъективные входные данные, которые могут игнорировать точные цифровые показатели (например, мнение потребителей продукции, суждение экспертов в той или иной области и т.д.). Методы количественного подхода при подготовке прогноза опираются или на использование статистических данных за определенный период времени (данных временных рядов), или на разработку ассоциативных моделей, использующих одну или более связанных переменных. Временнóй (динамический, или хронологический) ряд − упорядоченная во времени последовательность наблюдений, которые производятся через строго определенные интервалы времени. Методика прогнозирования, основанная на анализе данных временного ряда, предполагает, что будущие значения ряда могут быть оценены исходя из прошлых значений. Ассоциативные (каузальные, или причинно-следственные) методы прогнозирования основаны на определении независимых переменных, которые можно использовать для предсказания зависимых переменных. При этом основная цель ассоциативных методов заключается в построении уравнения, которое суммирует эффекты переменных предсказания. В ряду ассоциативных методов прогнозирования центральное место занимают методы регрессионного анализа, которые часто используются в экономике для решения задач прогнозирования будущих продаж, ожидаемого дохода, потребностей в оборудовании и т.д. Основные понятия регрессионного анализа Регрессионный анализ заключается в построении функциональной зависимости y = f ( x ) между двумя группами числовых переменных xi и yi (i=1, 2, …, n). С помощью регрессионного анализа создается математическая модель объекта наблюдения или явления на основе эксперимента, где yi − переменные, характеризующие наблюдаемые параметры, xi − переменные, на основе которых проводится эксперимент. Независимые величины xi, влияющие на переменные yj, называются факторами, а зависимые yi − откликами.
61 Функция y = f ( x ) может иметь линейный (y=mx+b), квадратичный (y=аx +bx+c), экспоненциальный (y=aekx) или другой вид, но в любом случае она отражает данное явление с некоторым приближением. На основе исходных данных определяются значения постоянных коэффициентов функции (a, b, c, k или др.), называемые коэффициентами регрессии. Построенная функциональная зависимость y = f ( x ) впоследствии позволяет предсказывать значения откликов для новых факторов, не входящих в начальные данные. Из-за действия случайных факторов предсказываемые значения yi будут отличаться от рассчитанных результатов на величину 2
e = y i − ~y i , где
(6.1)
yi − рассчитанное значение, ~y − реальное значение, i е − остаток.
Полученные коэффициенты регрессии должны обеспечивать минимум возможных остатков е. Функция, характеризующая различия между наблюдаемыми и реальными параметрами, называется функцией потерь (или риска) и имеет вид n
Z = ∑ ( yi − ~yi ) . 2
(6.2)
i =1
Остатки в функции (6.2) введены в квадрат, чтобы избежать различия в знаках при суммировании остатков, что может привести к их взаимному компенсированию. Метод наименьших квадратов в Excel В основе регрессионного анализа лежит процедура поиска и оценки точности найденных коэффициентов регрессии. Метод, позволяющий оценивать регрессионные коэффициенты, чтобы минимизировать квадраты остатков n
Z = ∑ ( yi − ~yi ) → min , 2
(6.3)
i =1
называется методом наименьших квадратов. Задача № 1. Мебельная фирма имела продажи на суммы 3 тыс. р., 1 тыс. р., 6 тыс. р., 3 тыс. р. и 7 тыс. р. за пять месяцев. Найти коэффициенты m и b прямой линии y=mx+b, наилучшим образом аппроксимирующей эти данные по критерию наименьших квадратов.
62 Решение. Разместим исходные данные на листе Excel, как показано на рис. 6.1.
Рис. 6.1. Организация данных задачи на листе Excel В ячейках А3:А7 располагается номер месяца по порядку, в В3:В7 − суммы продаж. В ячейки А10 и В10 помещаются начальные значения коэффициентов m и b. В ячейках С3:С7 вычисляются значения функции yi=mxi+b, т.е. в ячейку С3 запишется формула =А10*А3+В10, в С4 − формула =А10*А4+В10 и т.д. В ячейках D3:D7 вычисляются остатки (например, в D3 будет формула =В3-С3). В ячейке D10 рассчитывается сумма квадратов остатков с помощью функции СУММКВ(D3:D7), значение которой необходимо минимизировать. Для этого решается задача оптимизации. Из меню Сервис выбирается команда Поиск решения, диалоговое окно которой заполняется согласно рис. 6.2.
Рис. 6.2 Диалоговое окно “Поиск решения” для минимизации остатков
63 В поле Установить целевую ячейку введена ссылка на ячейку D10; для минимизации значения целевой ячейки переключатель установлен в положение минимальному значению; в поле Изменяя ячейки введены ссылки на изменяемые ячейки А10:B10; ограничений в данной задаче нет. Результат решения представлен на рис. 6.3, т.е. функция имеет вид y=x+1.
Рис. 6.3 Результат решения задачи Задача № 2. Построить диаграмму с исходными данными и приближающим их линейным графиком. Показать отклонения данных от графиков вертикальными отрезками. Решение. Для создания диаграммы выделяются ячейки В3:С7 и вызывается Мастер диаграмм. В диалоговом окне Тип диаграммы выбирается График и получается диаграмма, представленная на рис. 6.4.
Рис. 6.4 График исходных данных и график приближающийся прямой Для графика исходных данных В3:В7 в контекстном меню выберем команду Формат рядов данных и сделаем линию невидимой. Для чего в диалоговом окне Формат ряда данных на вкладке Вид поставим переключатель Линия отсутствует (рис. 6.5). Для графика С3:С7 в
64 диалоговом окне Формат ряда данных на вкладке Y-погрешности зададим пользовательские погрешности из D3:D7 (рис. 6.6).
Рис. 6.5 Диалоговое окно Формат ряда данны для графика данных В3:В7
Рис. 6.6 Диалоговое окно Формат ряда данных для графика данных С3:С7
65 В результате задания данных свойств рядам данных на диаграмме будут показаны отклонения исходных значений от полученного графика (рис. 6.7).
Рис. 6.7 Отклонения исходных значений от полученного графика Задача № 3. В течение пяти месяцев продажи товара возрастали и составили 30, 40, 80, 170 и 230 штук. Методом наименьших квадратов вычислить коэффициенты параболы y=аx2+bx+c. Построить диаграмму с исходными данными и приближающим их графиком, показать отклонения данных. Линейная регрессия в Excel Задача отыскания функциональной зависимости очень важна, поэтому для ее решения в Excel введен набор функций, основанных на методе наименьших квадратов. В качестве результата выдаются не только коэффициенты функции, приближающей данные, но и статистические характеристики полученных результатов. Функция ЛИНЕЙН рассчитывает статистику для ряда с применением метода наименьших квадратов, вычисляя прямую линию, которая наилучшим образом аппроксимирует имеющиеся данные. Функция возвращает массив, который описывает полученную прямую. Общий синтаксис вызова функции ЛИНЕЙН имеет следующий вид: ЛИНЕЙН(известные_значения_y; известные_значения_x; конст; статистика), где известные_значения_y − это множество значений y, которые уже известны для соотношения y =mx+b, известные_значения_x − это множество известных значений x. Если этот аргумент опущен, то предполагается, что это массив {1; 2; 3; ...} такого же размера, как и известные_значения_y,
66 конст − это логическое значение, которое указывает, требуется ли, чтобы константа b была равна 0. Если оно имеет значение ЛОЖЬ, то b полагается равным 0 и значения m подбираются так, чтобы выполнялось соотношение y=mx, cтатистика − это логическое значение, которое указывает, требуется ли выдать дополнительную статистику по регрессии. Задача № 4. Решить задачу выбора линейной функции из задачи №1 с помощью функции ЛИНЕЙН. Решение. Функция ЛИНЕЙН возвращает сразу несколько значений, поэтому формулу с данной функцией необходимо вводить как табличную. Чтобы вывести полную статистику, выделим блок из пяти строк и двух столбцов, т.е. F3:G7. Вызовем Мастер функций и в категории Статические выберем функцию ЛИНЕЙН. В диалоговом окне аргументы заполняются следующим образом: первым аргументом указывается блок В3:В7, вторым аргументом − блок А3:А7, в третьем и четвертом поле ввода поставим 1 (рис. 6.8).
Рис. 6.8 Диалоговое окно для функции ЛИНЕЙН Находясь в диалоговом окне, нажав клавиши Ctrl+Shift+Enter (не щелкать по кнопке ОК), получаем следующую таблицу (рис. 6.9). В ячейку F3 записан коэффициент m, в G3 – коэффициент b. Под этими коэффициентами помещены стандартные отклонения (т.е. среднеквадратичные отклонения) для этих коэффициентов.
67
Рис. 6.9 Результат работы функции ЛИНЕЙН В ячейку F5 записан так называемый коэффициент детерминации R2. Этот коэффициент лежит на отрезке [0, 1]. Чем ближе этот коэффициент к 1, тем лучше регрессионное уравнение описывает зависимость. В ячейке G5 находится стандартная ошибка для оценки y. В ячейку F6 записано значение F-статистики, а в G6 − количество степеней свободы (данных понятий мы касаться не будем). В последней строке таблицы записаны регрессионная сумма квадратов (10) и остаточная сумма квадратов (14), которая совпадает со значением, полученным при решении задачи № 1. Наиболее важными для нас являются коэффициенты m и b. Их можно вычислить с помощью функций НАКЛОН и ОТРЕЗОК, не прибегая к функции ЛИНЕЙН. Названия этих функций отвечают геометрическому смыслу коэффициентов регрессии: m - это тангенс угла наклона прямой регрессии, а b отрезок, отсекаемый этой прямой на оси ординат. Общий синтаксис вызова данных функций имеет вид НАКЛОН(известные_значения_y; известные_значения_x); ОТРЕЗОК(известные_значения_x; известные_значения_y). Задача № 5. Вычислить для задачи №1 коэффициенты m и b с помощью функций НАКЛОН и ОТРЕЗОК. Построение функциональной зависимости необходимо, чтобы вычислить отклики для новых значений факторов, для чего в Excel существуют функции ТЕНДЕНЦИЯ и ПРЕДСКАЗ, рассчитывающие значения y без определения коэффициентов уравнения. Функция ТЕНДЕНЦИЯ вычисляет значения в соответствии с прямой линией по методу наименьших квадратов. Она возвращает значения y, в соответствии с этой прямой для заданного массива новые_значения_x на основе известные_значения_x и соответствующим им известные_значения_ y. Синтаксис функция ТЕНДЕНЦИЯ имеет следующий вид:
68 ТЕНДЕНЦИЯ(известные_значения_y; известные_значения_x; новые_значения_x; конст), где конст − логическое значение, которое указывает, требуется ли, чтобы константа b была равна 0. Функция ПРЕДСКАЗ вычисляет будущее значение по существующим значениям и имеет следующий синтаксис: ПРЕДСКАЗ(x; известные_значения_y; известные_значения_x), где x − точка данных, для которой предсказывается значение. Задача № 6. Предсказать сумму продаж в последующий месяц в задаче №1 с помощью функций ТЕНДЕНЦИЯ и ПРЕДСКАЗ. Решение. Для значений задачи № 1, заданных на листе Excel функции будут иметь вид =ПРЕДСКАЗ(А8;В3:В7;А3:А7) =ТЕНДЕНЦИЯ(В3:В7;А3:А7;А8) В ячейке А8 введен следующий номер месяца. В обоих случаях сумма продаж в шестом месяце предполагается равной 7 тыс. р. Задача № 7. Имеются данные биржевых торгов акций в различной валюте на первое число месяца с января по октябрь (табл. 6.1). Требуется спрогнозировать цену акции в ноябре и декабре. Таблица 6.1 Месяц Доллар США Евро Месяц Доллар США Евро Январь 2460 1590 Июнь 3926 2542 Февраль 2476 1595 Июль 2994 1947 Март 2596 1672 Август 2996 5450 Апрель 2668 1724 Сентябрь 3015 2009 Май 2833 1835 Октябрь 3036 2036 Линия тренда Линии тренда используются в задачах прогнозирования, решаемых с помощью методов регрессионного анализа. Применительно к линиям тренда регрессионный анализ позволяет: − оценить степень связи между переменными на основании известных значений, − выбрать механизм вычисления значений неизвестных переменных, − продолжить линию тренда в любом направлении, экстраполировать за пределы новых значений и показать тенденцию их изменения, − построить линию скользящего среднего.
69 Задача № 8. Используя линию тренда, спрогнозировать количество продаж в следующие два месяца в задаче № 3. Решение. Пусть данные задачи № 3 введены на листе Excel, как показано на рис. 6.10. Выделив блок данных А3:В7 построим график. Выделим ряд и в контекстном меню выберем команду Добавить линию тренда. Появится диалоговое окно Линия тренда. На вкладке Тип зададим тип тренда Полиномиальная и укажем, что он имеет степень 2 (рис. 6.11). На вкладке Параметры установим флажок показывать уравнение на диаграмме.
Рис. 6.10 Исходные данные задачи
Рис. 6.11 Вкладка Тип диалогового окна Линия тренда
70
Рис. 6.12 Вкладка Параметры диалогового окна Линия тренда После закрытия окна увидим на диаграмме график параболы и ее уравнение (рис. 6.13).
Рис. 6.13 Линия тренда Коэффициенты квадратного трехчлена должны рассчитанными значениями при решении задачи № 3.
совпадать
с
71 Построенный полиномиальный ряд позволяет показать тенденцию изменения продаж, для этого на вкладке Параметры диалогового окна Линия тренда необходимо задать прогноз→вперед на 2 периода. Как видно из графика, в шестой месяц ожидается продажа около 350 шт. товара, в седьмой – 470 шт. Задача № 9. Для условия задачи № 1 построить прямую линию тренда, по которой спрогнозировать суммы продаж в шестой месяц. УКАЗАНИЯ ПО ОФОРМЛЕНИЮ ОТЧЕТА ПО ЛАБОРАТОРНОЙ РАБОТЕ Отчет оформляется на двойных тетрадных листах в клетку или на листах бумаги формата А4. Графический анализ задач выполняется на миллиметровой бумаге с применением чертежных инструментов. Отчет содержит: 1. Словесную формулировку задачи. 2. Таблицу варианта задания. 3. Математическую модель задачи с пояснениями. 4. Чертеж графического анализа задачи (когда это возможно) либо блок– схему алгоритма решения. 5. Сведенные в таблицы результаты расчетов. 6. Результаты подготовки данных к вводу в ЭВМ либо описание технологии формулировки задачи на ЭВМ. 7. Результаты решения задачи на ЭВМ. 8. Результаты сопоставления решения задачи разными методами (в том числе с использованием ЭВМ). Результаты выполнения пунктов 1 – 6 должны быть оформлены начисто и представлены преподавателю для допуска к работе в лаборатории. При окончательной защите и сдаче преподавателю лабораторной работы студент должен уметь отвечать на контрольные вопросы.
72
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Венцель, Е.С. Исследование операций. Задачи, принципы, методология [Текст] : учеб. пособие для вузов. − 3-е изд., стереотип. / Е.С. Венцель // М.: Дрофа, 2004. − 208 с. 2. Конюховский, П. В. Математические методы исследования операций в экономике [Текст] / П.В. Конюховский // СПб. : Питер, 2000. − 208 с. 3. Кремер, Н.Ш. Исследование операций в экономике [Текст] : учебное пособие для вузов [Текст] / Н.Ш. Кремер и др. // М. : ЮНИТИ, 2001. − 407 с. 4. Жданов, С.А. Экономические модели и методы в управлении [Текст] / С.А. Жданов // М. : Изд-во «Дело и Сервис», 1998. − 176 с. 5. Хазанова, Л.Э. Математические методы в экономике [Текст]: учебное пособие. − 2-е изд., испр. и перераб. / Л.Э. Хазанова // М.: Изд-во БЕК, 2002. − 144 с. 6. Салманов, О.Н. Математическая экономика с применением Mathcad и Excel [Текст] / О.Н. Салманов // СПб.: БХВ-Петербург, 2003. – 464 с. 7. Цисарь И.Ф., Нейман В.Г. Компьютерное моделирование экономики [Текст] : учеб. пособие / И.Ф. Цисарь, В.Г. Нейман // М. : Диалог-МИФИ, 2002. – 304 с. 8. Дубина, А.Г. Excel для экономистов и менеджеров [Текст] / А.Г. Дубина и др. // СПб.: Питер, 2004. − 285 с. 9. Шикин, Е.В. Математические методы и модели в управлении [Текст] : учеб. пособие / Е.В. Шикин, Г.А. Чхартишвили // М. : Дело, 2000. − 440 с. 10. Алесинская, Т.В. Учебное пособие по решению задач по курсу «Экономико-математические методы и модели» [Текст] / Т.В. Алесинская // Таганрог : Изд-во ТРТУ, 2002. − 153 с. Дополнительная литература 11. Волков, И.К. Исследование операций [Текст] : учеб. для вузов − 3-е изд., стереотип. / И.К. Волков, Е.А. Загоруйко; под ред. В.С. Зарубина, А.П. Крищенко // М.: Изд-во МГТУ им. Н.Э. Баумана, 2004. − 440 с. 12. Пижурин, А.А. Основы моделирования и оптимизации процессов деревообработки [Текст] : учебник для вузов / А.А. Пижурин, М.С. Розенблит // М. : Лесная промышленность, 1988. − 296 с. 13. Лимонов, Е.А. Моделирование и оптимизация процессов в деревообработке [Текст] : тексты лекций / Е.А. Лимонов, В.Е. Межов, Е.С. Хухрянская // Воронеж : Воронеж. гос. лесотехн. акад., 2002. − 116 с. 14. Балашевич, В.А. Математические методы в управлении производством [Текст] / В.А. Балашевич // Мн. : Вышэйш. шк., 1976. − 336 с.
Александр Вениаминович Стариков Ирина Сергеевна Кущева
Экономико-математическое и компьютерное моделирование
Методические указания к выполнению лабораторных работ для студентов специальности 080502 (060800) – Экономика и управление на предприятии (лесной комплекс)
Редактор В.В. Терлецкая
Подписано в печать 12.2006. Формат 60х84 1/16. Заказ № Объем 4,0 п.л. Усл. печ. л.3,72. Уч.-изд. л. 4,82. Тираж 150 экз. Воронежская государственная лесотехническая академия РИО ВГЛТА. 394613, г. Воронеж, ул. Тимирязева, 8 Отпечатано в тип. ИП Хасанова И.Б. 394087, г. Воронеж, ул. Ломоносова,87