1. ИУ – Варна
Редовно обучение/ ОКС „Магистър“
Специалност: МЧР, учебна година 2015/2016
КУРСОВА РАБОТА
по Количествени Методи за анализ в МЧР
Изготвил: Проверил:
Пламена Красимирова Иванова гл.ас. д-р Йордан Петков
/гр.60; фак.номер:108710/
2. Съдържание:
1. Същност и характеристики на модела
2. Построяване на математическия модел
3. Решение на задачата
4. Анализ на получените резултати
1.Обекти на теорията за подготовка и вземане на решения в
икономиката са крупни и сложни човеко-технически ситеми. Към
тези системи следва да бъдат отнесени предприятия,
организации, логистични ситеми, системи за перспективно и
текущо планиране и т.н. Характерна особеност за тях е това, че
наред с материалните, финансовите, енергийните и
информационните ресурси, те обединяват в качеството на
съставни елементи колективи от хора, взаимодействащи както
помежду си, така и с останалите части на системата. При тази
сложна структура, управлението на икономическите системи се
превръща в проблем, решаването на който изисква използването
на научния апарат на системния анализ, един от ефективните
методи на който е икономико-математическото моделиране на
икономически системи. Под модел следва да се разбира условен
образ на някакъв обект, приблизително възпроизвеждащ този
обект с помощта на определен език. При икономико-
математическите модели такъв обект се явява икономическата
система, а езикът - класически и специално разработени
математически методи. Икономико-математически модел -
математическо описание на изследвана икономическа система, с
3. помощта на което се изучава нейното функциониране и се
оценява ефективността й при възможни изменения на
характеристиките на външната среда. Такъв модел може да се
разглежда и като метод за търсене на оптимални решения, за
анализ на поведението на реална икономическа система без
непосредствено експериментиране върху самата нея. По-долу ще
се запознаем с модела на задачата за назначенията.
Основната цел на „задачата за назначенията“ е да се разпределят
n на брой ресурса (изпълнители, служители, работници) за
извършване на n на брой дейности (работи), така че да се
минимизират общите „разходи“/“загуби“ (да се максимизира
общата „полза“) от това разпределение. Проблемът е свързан с
това, че различните ресурси (изпълнители) имат различна
ефективност при изпълнение на различните дейности - извършват
ги за различно време, изискват различно заплащане, носят
различна печалба, различават се по качеството на изпълнение и
др. Задачата за назначенията намира приложение в различни
ситуации на вземане на решения, като:
разпределение на работници на различни машини;
разпределение на изпълнители на различни работи;
ефективност на учители по учебни предмети;
разпределение на търговски представители по райони
( търговски обекти);
разпределение на чиновници на различни гишета и др.
Във всички тези случаи целта е получаването на оптимално
(„най-добро“) разпределение - такова, при което се минимизират
общото време и/или разходи за изпълнение, или се максимизира
общата полза (приходи, печалба, качество и т.н.).
Постановка на общата задача за назначенията:
Разглежда се случай, при който броят на дейностите е равен на
броя на изпълнителите (n). Предварително са известни времената
ttij , за които дейност i може да бъде извършена от изпълнител j
(i=1,2...,n; j=1,2…,n) – таблица 1. В нея дейностите са
4. разположени по редове (от 1 до n), изпълнителите са
разположени по стълбове (от 1 до n).
Таблица 1. Структура на задачата за назначенията
Данните от табл. 1 могат да се поместят в матрица С, наречена
матрица на разходите:
C=
(
t11 t12 ⋯ t1 j ⋯ t1n
t21 t22 ⋯ t2 j ⋯ t2n
⋯ ⋯ ⋯ ⋯ ⋯ ⋯
ti1 ti2 ⋯ tij ⋯ t¿
⋯ ⋯ ⋯ ⋯ ⋯ ⋯
tn1 tn3 ⋯ tnj ⋯ tnn
)
Важна особеност е, че всеки изпълнител трябва да бъде назначен
да извършва точно една дейност и всяка дейност трябва да бъде
изпълнена точно от един изпълнител.
Графично представяне на задачата за назначения:
5. Математически модел на задачата за назначения:
Въвеждаме неизвестните величини хij, представящи дали i-тата
дейност ще се извърши от j-тия изпълнител (тогава на
променливата се присвоява стойност 1) или не (тогава на
променливата се присвоява стойност 0) (i=1,2,…,n; j=1,2,…,n).
Техните стойности могат да се запишат в матрица:
Х=
(
х11 х12 ⋯ х1 j ⋯ х1n
х21 х22 ⋯ х2 j ⋯ х2n
⋯ ⋯ ⋯ ⋯ ⋯ ⋯
хi1 хi2 ⋯ хij ⋯ х¿
⋯ ⋯ ⋯ ⋯ ⋯ ⋯
хn1 хn2 ⋯ хnj ⋯ хnn
)
във всеки ред на която има само една 1, а останалите са 0; във
всеки стълб на която има само една е1, а останалите са 0.
Тъй като целта на разпределението е постигане на минимално
общо време за изпълнение на всички дейности, целевата функция
Т в модела трябва да задава точно общото време за изпълнение
на всички дейности.
Време за изпълнение на първата дейност от изпълнителите е
равно на:
t11x11 + t12x12 + …+ t1nx1n.
Време за изпълнение на втората дейност от изпълнителите е
равно на:
t21x21 + t22x22 + …+ t2nx2n.
Време за изпълнение на последната n-та дейност от ипълнителите
е равно на:
tn1xn1 + tn2xn2 + …+ tnnxnn.
Тогава общото време за изпълнение на всичко дейности е сума от
горните, т.е:
6. t11x11 + t12x12 + …+ t1nx1n + t21x21 + t22x22 + …+ t2nx2n + tn1xn1 + tn2xn2 +
…+ tnnxnn.
Търсим минимум на целевата функция Т.
Ограничителните условия в модела са две групи. Първата е по
отношение на дейностите (всяка дейност трябва да бъде
изпълнена от един изпълнител). Затова сумата от неизвестните
величини във всеки ред трябва да е равна на 1:
x11 + x12 +…+ x1n=1(за първата дейност);
x21 + x22 +…+ x2n=1(за втората дейност);
...
xn1 + xn2 +…+ xnn=1(за n-тата дейност).
При това всяка неизвестна величина може да приема само
стойност 0 или 1. Затова трябва да са изпълнени равенствата:
xij = xij
2
за всяко (i=1,2,…,n; j=1,2,…,n).
Окончателния вид на модела е: t11x11 + t12x12 + …+ t1nx1n + t21x21 +
t22x22 + …+ t2nx2n + tn1xn1 + tn2xn2 + …+ tnnxnn
при условия
x11 + x12 +…+ x1n=1;
x21 + x22 +…+ x2n=1;
...
xn1 + xn2 +…+ xnn=1;
x11 + x21 +…+xn1=1;
x12 + x22 +…+xn2=1;
…
х1n + x2n +…+ xnn= 1;
xij = xij
2
за всяко (i=1,2,…,n; j=1,2,…,n).
7. Видове задачи за назначения
Задачата за назначенията бива два вида: балансирана (закрита) и
небалансирана (открита). Ако броят на дейностите е равен на
броя на изпълнителите (матрицата е квадратна) задачата е
балансирана. Ако матрицата не е квадратна, задачата е
небалансирана. Във втория случай за балансирането й е
необходимо да се добавят фиктивни редове (или стълбове), така
че да се изравни броят на дейностите и изпълнителите. Времената
(разходите, ползите) във фиктивно добавените редове/стълбове се
приемат за 0.
Унгарски метод за решаване на задачата за назначения
1. Ако задачата не е балансирана, се свежда до такава чрез
добавяне на фиктивни редове/стълбове на матрицата С с нулеви
времена (разходи, ползи).
2. Матрицата С се преобразува до нова матрица С1, като от
елементите на всеки неин ред се извади най-малкият елемент в
този ред.
3. Матрицата С1 се преобразува до нова матрица С2, като от
елементите на всеки неин стълб се извади най-малкият елемент в
този стълб.
4. Получените 0 в матрицата С2 се зачеркват с минимален брой
хоризонтални/вертикални линии.
5. Ако броят на зачеркващите линии е равен на броя на редовете
(стълбовете) на матрицата, е намерено оптимално решение =>
стъпка 7. Ако броят на зачеркващите линии е по-малък от броя на
редовете на матрицата С2, се преминава към стъпка 6.
6. От незачеркнатите елементи на матрицата се избира най-
малкият. Той се изважда от всички незачеркнати елементи и се
прибавя към елементите, зачеркнати с две линии (хоризонтална и
вертикална). Елементите, зачеркнати само с една линия, не се
променят.
7. Оптималното решение се определя, като се изберат 0, по такъв
начин, че да има само по една избрана 0 във всеки ред и всеки
8. стълб на матрицата. На неизвестните величини от матрицата Х,
намиращи се на позициите на избраните 0, се присвоява стойност
1 (те определят оптималното назначение), на останалите
неизвестни величини се присвоява стойност 0. Минималното
общо време за изпълнение е сума от времената, намиращи се на
позициите на избраните 0 в оригиналната матрица С.
2. Ще разгледаме фирмата „Мантула Енд Краси“ ООД. Тя се
занимава с търговия на едро и по-точно с разноса на стоки по
съответните обекти. Броят на работниците, които оперират в
склада на фирмата е 5, а обектите до които трябва да се извърши
разноса на стоките са съответно също 5 обекта. Задачата е да се
намери такова оптимално решение, че всички дейности да бъдат
извършени и всяка дейност да бъде извършена поотделно от
всеки един от работниците в склада. И така да се разпределят
дейностите, че времето за извършване от работниците да е
минимално(най-малко).
1 2 3 4 5 Обектите са: А Б В Г Д
C=
‖
21 13 36 20 42
17 34 22 18 30
12 23 40 16 31
31 18 15 21 11
28 24 30 35 49
‖
Задачата е балансирана, тъй като броят на работниците е равен на
броя на дейностите по обекти. За съставяне на математическия
модел се въвеждат неизвестните величини хij (i=1,2,3,4,5;
j=1,2,3,4,5):
X=
(
x11 x12 x13 x14 x15
x21 x22 x23 x24 x25
x31 x32 x33 x34 x35
x41 x42 x43 x44 x45
x51 x52 x53 x54 x55
)
Целевата функция има вида:
9. T = 21x11 + 13x12 + 36x13 + 20x14 + 42x15 + 17x21 + 34x22 + 22x23 +
18x24 + 30x25 + 12x31 + 23x32 + 40x33 + 16x34 + 31x35 + 31x41 + 18x42
+ 15x43 + 21x44 + 11x45 + 2851 + 24x52 + 30x53 + 35x54 + 49x55
при условия
x11 + x12 + x13 + x14 + x15=1
x21 + x22 + x23 + x24 + x25=1
x31 + x32 + x33 + x34 + x35=1
x41 + x42 + x43 + x44 + x45=1
x51 + x52 + x53 + x54 + x55=1
x11 + x21 + x31 + x41 + x51=1
x12 + x22 + x32 + x42 + x52=1
x13 + x23 + x33 + x43 + x53=1
x14 + x24 + x34 + x44 + x54=1
x15 + x25 + x35 + x45 + x55=1
xij = xij
2
за всяко (i=1,2,3,4,5; j=1,2,3,4,5)
3.Решението намираме по Унгарския метод. Имаме толкова
неизвестни величини, колкото са числата в горната матрица
(5x5=25). Преобразуваме матрицата С до С1, като избираме най-
малкото число от всеки ред и го изваждаме от всички числа в
реда. В първия ред то 13, във втория – 17, в третия – 12, в
четвъртия – 11 и в петия – 19:
C1=
‖
8 0 23 7 29
0 17 5 1 13
0 11 28 4 19
20 7 4 10 0
9 5 11 16 0
‖
Преобразуваме матрицата C1 до C2, като избираме най-малкото
число от всеки стълб и го изваждаме от всички числа в стълба. В
пърия стълб то е 0, във втория – 0, в третия – 4, в четвъртия – 1 и
в петия – 0:
10. C2=
‖
8 0 19 7 29
0 17 1 0 13
0 11 24 3 19
20 7 0 9 0
9 5 7 15 0
‖
Зачертаваме всички 0 в матрицата C2 с минимален брой
хоризонтални/вертикални линии:
Броят на зачеркващите линии (5) е равен на броя на редовете на
матрицата (5), следователно имаме намерено оптимално решение.
Преминаваме към стъпка 6. За определянето му ограждаме по
една 0 във всеки ред и стълб започвайки с ред/стълб с единствена
0:
Във всеки ред и във всеки стълб трябва да има по една избрана 0.
Тези оградени нули са оптималните решения на задачата. На
мястото на избраните 0 => x=1, останалите x-ове са равни на 0.
Оптималното решение на задачата е:
11. Xopt =
(
0 1 0 0 0
0 0 0 1 0
1 0 0 0 0
0 0 1 0 0
0 0 0 0 1
)
4.От оптималното решения можем да направим следния извод:
дейност А трябва да бъде извършена от втория работник
дейност Б трябва да бъде извършена от четвъртия работник
дейност В трябва да бъде извършена от първия работник
дейност Г трябва да бъде извършена от третия работник
дейност Д трябва да бъде извършена от перият работник
Минималното общо време за изпълнение на петте дейности е: от
матрица C събираме съответните времена и получаваме
Тmin= 13+18+12+15+19 = 77