24.07.2013 Views

решаване на задача за назначенията с ms excel solver

решаване на задача за назначенията с ms excel solver

решаване на задача за назначенията с ms excel solver

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

РЕШАВАНЕ НА ЗАДАЧА ЗА НАЗНАЧЕНИЯТА С MS EXCEL SOLVER<br />

SOLVING THE ASSIGNMENT PROBLEM USING MS EXCEL SOLVER<br />

РЕШЕНИЕ ЗАДАЧА О НАЗНАЧЕНИЯХ ЧЕРЕЗ MS EXCEL SOLVER<br />

assist. prof. dr. eng. Dimitrov S.<br />

Faculty of Transport Management, Higher School of Transport “Todor Kableshkov”, Sofia, Bulgaria<br />

Abstract: This paper presents an example for MS Excel Solver application in solving assignment problem defined as linear programming<br />

task. To achieve optimal solution for the task an objective function, constraints and network model have been described and used.<br />

KEYWORDS: ASSIGNMENT PROBLEM, OPTIMAL SOLUTION, OPTIMIZATION, LINEAR PROGRAMMING, NETWORK, SOLVER<br />

1. Увод.<br />

В хода <strong>на</strong> провежданите <strong>на</strong>учни из<strong>с</strong>ледвания учени и<br />

из<strong>с</strong>ледователи по<strong>с</strong>тоянно <strong>с</strong>е <strong>с</strong>блъ<strong>с</strong>кват <strong>с</strong> проблеми от различно<br />

е<strong>с</strong>те<strong>с</strong>тво <strong>за</strong> раз<strong>решаване</strong>то <strong>на</strong> които е необходимо вземане <strong>на</strong><br />

адекватни мерки и тър<strong>с</strong>ене <strong>на</strong> оптимални решения. Наличието<br />

<strong>на</strong> <strong>с</strong>ложни в<strong>за</strong>имовръзки между възникващите <strong>с</strong>ъбития, които<br />

<strong>с</strong>ъпът<strong>с</strong>тват протичащите проце<strong>с</strong>и, изи<strong>с</strong>ква при по<strong>с</strong>трояване <strong>на</strong><br />

математични модели да <strong>с</strong>е изберат подходящи управляващи<br />

параметри и вземат в предвид <strong>с</strong>ъще<strong>с</strong>твуващите ограничения. С<br />

оглед <strong>на</strong> това при извършване <strong>на</strong> математично опи<strong>с</strong>ание <strong>на</strong><br />

дефинираните <strong>за</strong>дачи е необходимо <strong>на</strong>вли<strong>за</strong>не в детайли, което<br />

от ед<strong>на</strong> <strong>с</strong>тра<strong>на</strong> <strong>с</strong>помага <strong>за</strong> повишаване <strong>на</strong> точно<strong>с</strong>тта <strong>на</strong><br />

получаваните от моделите резултати, а от друга - в изве<strong>с</strong>т<strong>на</strong><br />

<strong>с</strong>тепен у<strong>с</strong>ложнява по<strong>с</strong>троените модели. Сложно<strong>с</strong>тта <strong>на</strong><br />

математичните модели и големия брой <strong>на</strong>ложени ограничения<br />

пораждат нуждата от приложение <strong>на</strong> използваните в обла<strong>с</strong>тта<br />

<strong>на</strong> из<strong>с</strong>ледването <strong>на</strong> операции оптими<strong>за</strong>ционни техники.<br />

Неудоб<strong>с</strong>твото при <strong>решаване</strong>то <strong>на</strong> големи по размерно<strong>с</strong>т<br />

оптими<strong>за</strong>ционни <strong>за</strong>дачи <strong>с</strong>е изразява предимно в изразходването<br />

<strong>на</strong> з<strong>на</strong>чително изчи<strong>с</strong>лително време.<br />

2. Предпо<strong>с</strong>тавки и <strong>на</strong>чини <strong>за</strong> раз<strong>решаване</strong> <strong>на</strong><br />

проблема.<br />

Решаването <strong>на</strong> дефинираните оптими<strong>за</strong>ционни <strong>за</strong>дачи <strong>с</strong><br />

компютри чрез ползване <strong>на</strong> <strong>с</strong>офтуер е не <strong>с</strong>амо препоръчително,<br />

а в някои <strong>с</strong>лучаи поради лип<strong>с</strong>а <strong>на</strong> време и <strong>на</strong>ложително.<br />

Съще<strong>с</strong>твуващите оптими<strong>за</strong>ционни техники [1,2,3] <strong>на</strong>мират<br />

приложение и при <strong>решаване</strong> <strong>на</strong> <strong>за</strong>дачи в тран<strong>с</strong>портните<br />

из<strong>с</strong>ледвания. За у<strong>с</strong>ъвършен<strong>с</strong>тване <strong>на</strong> тран<strong>с</strong>портните проце<strong>с</strong>и,<br />

<strong>на</strong>пример може да <strong>с</strong>е използва т. <strong>на</strong>р. тран<strong>с</strong>портен модел [3].<br />

Тран<strong>с</strong>портните модели <strong>с</strong>а <strong>с</strong>пециален кла<strong>с</strong> <strong>за</strong>дачи <strong>на</strong><br />

линейното програмиране [1], които опи<strong>с</strong>ват преме<strong>с</strong>тването <strong>на</strong><br />

товари от пунктовете <strong>на</strong> отправяне (изходни пунктове) до<br />

пунктовете <strong>на</strong> <strong>на</strong>з<strong>на</strong>чение (<strong>с</strong>кладове, магазини и др.) [3].<br />

Тран<strong>с</strong>портният модел може да <strong>с</strong>е ползва още при <strong>решаване</strong> <strong>на</strong><br />

<strong>за</strong>дачи, <strong>с</strong>вър<strong>за</strong>ни <strong>с</strong> управление <strong>на</strong> <strong>за</strong>па<strong>с</strong>ите, управление <strong>на</strong><br />

движението <strong>на</strong> капиталите, <strong>с</strong>ъ<strong>с</strong>тавяне <strong>на</strong> разпи<strong>с</strong>ания,<br />

<strong>на</strong>з<strong>на</strong>чение <strong>на</strong> пер<strong>с</strong>о<strong>на</strong>ла и др. Пример <strong>за</strong> необходимо<strong>с</strong>тта от<br />

използване <strong>на</strong> тран<strong>с</strong>портния модел в обла<strong>с</strong>тта <strong>на</strong> тран<strong>с</strong>порта е<br />

оптимизиране <strong>на</strong> разпи<strong>с</strong>анието <strong>на</strong> движение <strong>на</strong> превозните<br />

<strong>с</strong>ред<strong>с</strong>тва, оптимизиране <strong>на</strong> работния график <strong>на</strong> пер<strong>с</strong>о<strong>на</strong>ла,<br />

възлагане <strong>на</strong> <strong>с</strong>лужителите <strong>на</strong> конкретни <strong>за</strong>дачи и др.<br />

За оптимално разпределяне <strong>на</strong> <strong>с</strong>лужители по <strong>за</strong>дачи би<br />

могъл да <strong>с</strong>е използва тран<strong>с</strong>портния модел <strong>на</strong> <strong><strong>за</strong>дача</strong>та <strong>за</strong><br />

<strong>на</strong>з<strong>на</strong>ченията [1,3]. Задачата <strong>за</strong> <strong>на</strong>з<strong>на</strong>ченията (ЗН), която <strong>с</strong>е<br />

<strong>с</strong>ъ<strong>с</strong>тои във възлагането <strong>на</strong> m <strong>на</strong> брой работи <strong>на</strong> n <strong>на</strong> брой<br />

машини, може да <strong>с</strong>е разглежда като ча<strong>с</strong>тен <strong>с</strong>лучай <strong>на</strong><br />

тран<strong>с</strong>порт<strong>на</strong>та <strong><strong>за</strong>дача</strong>. Специфичното <strong>за</strong> нея е, че работите<br />

могат да <strong>с</strong>е пред<strong>с</strong>тавят като отправни пунктове (ОП), а<br />

машините – като пунктове <strong>на</strong> <strong>на</strong>з<strong>на</strong>чение (ПН). Броят <strong>на</strong><br />

отправните пунктове, <strong>на</strong>ричани още производители е равен <strong>на</strong><br />

броят <strong>на</strong> пунктовете <strong>на</strong> <strong>на</strong>з<strong>на</strong>чение, обоз<strong>на</strong>чавани още като<br />

потребители. Задачата <strong>с</strong>е решава в <strong>с</strong>лучаите, когато във в<strong>с</strong>еки<br />

един от в<strong>с</strong>ички n пункта <strong>на</strong> <strong>на</strong>з<strong>на</strong>чение е необходимо да <strong>с</strong>е<br />

до<strong>с</strong>тави 1 единица продукт от един от в<strong>с</strong>ички m производители,<br />

т.е. когато от в<strong>с</strong>еки източник към в<strong>с</strong>еки потребител трябва да<br />

<strong>с</strong>е изпрати <strong>с</strong>амо ед<strong>на</strong> единица продукт. Тогава предлагането в<br />

65<br />

ОП е ai = 1 <strong>за</strong> i = 1,…,m, а тър<strong>с</strong>енето в ПН – bj = 1, <strong>за</strong> j = 1,…,n.<br />

Ако броят <strong>на</strong> отправните пунктове <strong>с</strong>е различава от броят <strong>на</strong><br />

пунктовете <strong>на</strong> <strong>на</strong>з<strong>на</strong>чение, т.е. ако mn,<br />

<strong>с</strong>ъще<strong>с</strong>твуващият ди<strong>с</strong>балан<strong>с</strong> <strong>с</strong>е преодолява, чрез въвеждане <strong>на</strong><br />

т.<strong>на</strong>р. фиктивни работи или машини. В общия <strong>с</strong>лучай <strong>с</strong>е<br />

приема, че m = n. При това <strong>за</strong> изпълнението <strong>на</strong> работа i <strong>на</strong><br />

маши<strong>на</strong> j <strong>с</strong>е извършват разходи Ci,j. Ако <strong>с</strong>а дадени разходите<br />

Ci,j <strong>за</strong> “тран<strong>с</strong>портиране” <strong>на</strong> единица продукт от в<strong>с</strong>еки ОП към<br />

в<strong>с</strong>еки ПН, <strong><strong>за</strong>дача</strong>та <strong>с</strong>е <strong>с</strong>вежда до <strong>на</strong>миране <strong>на</strong> това<br />

разпределение <strong>на</strong> работите между машините, при което<br />

<strong>с</strong>умарните разходи имат минимал<strong>на</strong> <strong>с</strong>тойно<strong>с</strong>т.<br />

Най-изве<strong>с</strong>тният метод <strong>за</strong> <strong>решаване</strong> <strong>на</strong> <strong><strong>за</strong>дача</strong>та <strong>за</strong><br />

<strong>на</strong>з<strong>на</strong>ченията е унгар<strong>с</strong>кият метод, подробно разгледан в [1].<br />

По<strong>на</strong><strong>с</strong>тоящем, използването <strong>на</strong> методи като унгар<strong>с</strong>кия,<br />

<strong>с</strong>падащи към групата <strong>на</strong> ръчните изчи<strong>с</strong>лителни алгоритми <strong>за</strong><br />

<strong>решаване</strong> <strong>на</strong> <strong>за</strong>дачи от този вид, не е един<strong>с</strong>тве<strong>на</strong>та алтер<strong>на</strong>тива.<br />

Задачи като тран<strong>с</strong>порт<strong>на</strong>та <strong><strong>за</strong>дача</strong> и <strong><strong>за</strong>дача</strong>та <strong>за</strong> <strong>на</strong>з<strong>на</strong>ченията<br />

могат да <strong>с</strong>е дефинират като <strong>за</strong>дачи <strong>на</strong> линейното програмиране<br />

и решават <strong>с</strong> помощта <strong>на</strong> <strong>с</strong>ъздадени <strong>за</strong> целта компютърни<br />

приложения [4] и компютърни програми.<br />

Графично, моделът <strong>на</strong> <strong><strong>за</strong>дача</strong>та <strong>за</strong> <strong>на</strong>з<strong>на</strong>ченията може да <strong>с</strong>е<br />

пред<strong>с</strong>тави във вид <strong>на</strong> графова <strong>с</strong>труктура (мрежа),<br />

пред<strong>с</strong>тавляваща множе<strong>с</strong>тво от върхове и дъги, които ги<br />

<strong>с</strong>вързват (фиг. 1). С върховете в мрежата <strong>с</strong>е обоз<strong>на</strong>чават ОП и<br />

ПН, а <strong>с</strong> дъгите – връзките между тях.<br />

ОП<br />

ПН<br />

П<br />

р<br />

е<br />

д<br />

л<br />

а<br />

г<br />

а<br />

н<br />

е<br />

a 1<br />

a 2<br />

a m<br />

1<br />

2<br />

c2,1<br />

cm,1<br />

c1,n<br />

c2,n<br />

c1,2<br />

c2,2<br />

c1,1<br />

cm,2<br />

cm,n<br />

m n<br />

Фиг. 1. Общ вид <strong>на</strong> мрежовия модел <strong>на</strong> <strong><strong>за</strong>дача</strong>та <strong>за</strong> <strong>на</strong>з<strong>на</strong>ченията<br />

Математиче<strong>с</strong>кото опи<strong>с</strong>ание <strong>на</strong> <strong><strong>за</strong>дача</strong>та <strong>с</strong>е извършва чрез<br />

дефиниране <strong>на</strong> целева функция и ограничения, както <strong>с</strong>ледва:<br />

Целева функция:<br />

m n<br />

J = ∑∑Ci,<br />

j.<br />

X i,<br />

j → min<br />

( 1),<br />

i=<br />

1j= 1<br />

където:<br />

Xi,j – тър<strong>с</strong>еното количе<strong>с</strong>тво продукция, “тран<strong>с</strong>портирано”<br />

от i -ти ОП до j -ти ПН.<br />

Ограничения:<br />

n<br />

∑ X<br />

j = 1<br />

m<br />

∑ X<br />

i=<br />

1<br />

i,<br />

j = 1 <strong>за</strong> i = 1,...,<br />

m<br />

i,<br />

j = 1 j = 1,...,<br />

n<br />

( 2)<br />

( 3)<br />

1<br />

2<br />

b 1<br />

b 2<br />

b n<br />

Т<br />

ъ<br />

р<br />

<strong>с</strong><br />

е<br />

н<br />

е


3. Решение <strong>на</strong> проучения проблем.<br />

Решение <strong>на</strong> <strong><strong>за</strong>дача</strong>та <strong>за</strong> <strong>на</strong>з<strong>на</strong>ченията, чрез използване <strong>на</strong><br />

Microsoft® Excel [4], можем да опишем <strong>с</strong>ъ<strong>с</strong> <strong>с</strong>ледния пример.<br />

В автотран<strong>с</strong>портно предприятие <strong>на</strong> длъжно<strong>с</strong>т „водач <strong>на</strong><br />

автобу<strong>с</strong>” <strong>с</strong>а <strong>на</strong>з<strong>на</strong>чени 5 <strong>на</strong> брой <strong>с</strong>лужители. На територията <strong>на</strong><br />

<strong>на</strong><strong>с</strong>еленото мя<strong>с</strong>то (фиг. 2) предприятието разполага <strong>с</strong> 5 <strong>на</strong> брой<br />

гаражи, в които <strong>с</strong>а паркирани превозните <strong>с</strong>ред<strong>с</strong>тва <strong>на</strong> ма<strong>с</strong>овия<br />

град<strong>с</strong>ки тран<strong>с</strong>порт, които в разглеждания <strong>с</strong>лучай <strong>с</strong>а автобу<strong>с</strong>и.<br />

В<strong>с</strong>еки от 5 -те нови <strong>с</strong>лужители живее в район <strong>на</strong> града, различен<br />

от тези, в които живеят о<strong>с</strong>та<strong>на</strong>лите <strong>с</strong>лужители. При у<strong>с</strong>ловие, че<br />

раз<strong>с</strong>тоянията Li,j от районите <strong>на</strong> живеене <strong>на</strong> автобу<strong>с</strong>ните водачи<br />

до в<strong>с</strong>еки от гаражите <strong>с</strong>а предварително <strong>за</strong>дадени (табл. 1), е<br />

необходимо към в<strong>с</strong>еки гараж да <strong>с</strong>е прикрепи по един водач <strong>на</strong><br />

автобу<strong>с</strong>. Прикрепването трябва да <strong>с</strong>е извърши по такъв <strong>на</strong>чин,<br />

че <strong>на</strong> в<strong>с</strong>еки от водачите да е <strong>за</strong>чи<strong>с</strong>лен <strong>с</strong>амо по един автобу<strong>с</strong> и<br />

в<strong>с</strong>еки автобу<strong>с</strong> да <strong>с</strong>е управлява от един един<strong>с</strong>твен водач, при<br />

което <strong>с</strong>умата от раз<strong>с</strong>тоянията <strong>на</strong> в<strong>с</strong>ички водачи от<br />

ме<strong>с</strong>тоживеене до ме<strong>с</strong>торабота да е минимал<strong>на</strong>.<br />

Автобу<strong>с</strong> 4<br />

Водач 1<br />

Водач 4<br />

Фиг. 2. Схема <strong>на</strong> <strong>на</strong><strong>с</strong>еленото мя<strong>с</strong>то<br />

Табл. 1. Раз<strong>с</strong>тояния между райони <strong>на</strong> живеене и автобу<strong>с</strong>ни гаражи<br />

col C D E F G H I J K<br />

row<br />

от 1 2<br />

Автобу<strong>с</strong><br />

3 4 5<br />

15 1 6,0 12,0 11,0 4,0 2,4 1<br />

16 2 2,8 6,4 10,0 11,2 2,4 1<br />

17 3 5,6 3,6 3,2 6,8 3,8 1<br />

18 4 18,0 13,0 3,6 3,5 11,0 1<br />

19 5 4,0 4,0 3,5 3,5 3,2 1<br />

1 1 1 1 1<br />

до<br />

Водач<br />

Автобу<strong>с</strong> 5<br />

Водач 5<br />

Водач 2<br />

Автобу<strong>с</strong> 3<br />

Водач 3<br />

По<strong>с</strong>троеният мрежови модел <strong>за</strong> конкретно решава<strong>на</strong>та<br />

пример<strong>на</strong> <strong><strong>за</strong>дача</strong> е пока<strong>за</strong>н <strong>на</strong> фиг. 3.<br />

ОП ПН<br />

водач 1<br />

водач 2<br />

водач 3<br />

водач 4<br />

водач 5<br />

1<br />

2<br />

3<br />

4<br />

5<br />

2,4<br />

6<br />

2,8<br />

2,4<br />

5,6<br />

18<br />

4<br />

J<br />

5 5<br />

= ∑∑<br />

i= 1 j=<br />

1<br />

12<br />

11<br />

4<br />

6,4<br />

10<br />

11,2<br />

3,6<br />

3,2<br />

6,8<br />

3,8<br />

13<br />

3,6<br />

3,5<br />

11<br />

4 3,5<br />

3,5<br />

3,2<br />

Фиг. 3. Мрежови модел <strong>на</strong> <strong><strong>за</strong>дача</strong>та <strong>за</strong> <strong>на</strong>з<strong>на</strong>ченията<br />

L<br />

Автобу<strong>с</strong> 1<br />

i, j.<br />

X i,<br />

j → min<br />

1<br />

2<br />

3<br />

4<br />

5<br />

Автобу<strong>с</strong> 2<br />

Автобу<strong>с</strong> 1<br />

Автобу<strong>с</strong> 2<br />

Автобу<strong>с</strong> 3<br />

Автобу<strong>с</strong> 4<br />

Автобу<strong>с</strong> 5<br />

66<br />

Дефинираните целева функция и ограничения имат вида:<br />

Целева функция:<br />

J<br />

5 5<br />

= ∑∑<br />

i= 1 j=<br />

1<br />

L<br />

Ограничения:<br />

5<br />

∑ X<br />

j = 1<br />

5<br />

∑ X<br />

i=<br />

1<br />

i, j.<br />

X i,<br />

j → min<br />

i,<br />

j = 1 <strong>за</strong> i = 1,..,<br />

5<br />

i,<br />

j = 1 <strong>за</strong> j = 1,..,<br />

5<br />

След разпи<strong>с</strong>ване <strong>на</strong> формули (4), (5) и (6) получаваме:<br />

( 4)<br />

J = L1,1.X1,1+L1,2.X1,2+L1,3.X1,3+L1,4.X1,4+L1,5.X 1,5+<br />

L2,1.X2,1+L2,2.X2,2+L2,3.X2,3+L2,4.X2,4+L2,5.X2,5+<br />

L3,1.X3,1+L3,2.X3,2+L3,3.X3,3+L3,4.X3,4+L3,5.X3,5+<br />

L4,1.X4,1+L4,2.X4,2+L4,3.X4,3+L4,4.X4,4+L4,5.X4,5+<br />

L5,1.X5,1+L5,2.X5,2+L5,3.X5,3+L5,4.X5,4+L5,5.X5,5=<br />

= 6,0.X1,1+12,0.X1,2+11,0.X1,3+ 4,0.X1,4+ 2,4.X 1,5+<br />

2,8.X2,1+ 6,4.X2,2+10,0.X2,3+11,2.X2,4+ 2,4.X2,5+<br />

5,6.X3,1+ 3,6.X3,2+ 3,2.X3,3+ 6,8.X3,4+ 3,8.X3,5+<br />

18,0.X4,1+13,0.X4,2+ 3,6.X4,3+ 3,5.X4,4+11,0.X4,5+<br />

4,0.X5,1+ 4,0.X5,2+ 3,5.X5,3+ 3,5.X5,4+ 3,2.X5,5 -> min<br />

X1,1+X1,2+X1,3+X1,4+X1,5=1<br />

X2,1+X2,2+X2,3+X2,4+X2,5=1<br />

X3,1+X3,2+X3,3+X3,4+X3,5=1<br />

X4,1+X4,2+X4,3+X4,4+X4,5=1<br />

X5,1+X5,2+X5,3+X5,4+X5,5=1<br />

X1,1+X2,1+X3,1+X4,1+X5,1=1<br />

X1,2+X2,2+X3,2+X4,2+X5,2=1<br />

X1,3+X2,3+X3,3+X4,3+X5,3=1<br />

X1,4+X2,4+X3,4+X4,4+X5,4=1<br />

X1,5+X2,5+X3,5+X4,5+X5,5=1<br />

Решаването <strong>на</strong> <strong><strong>за</strong>дача</strong>та <strong>за</strong> <strong>на</strong>з<strong>на</strong>ченията по<strong>с</strong>ред<strong>с</strong>твом<br />

предложе<strong>на</strong>та в офи<strong>с</strong> приложението MS Excel функцио<strong>на</strong>лно<strong>с</strong>т<br />

“Solver”, до<strong>с</strong>тъп<strong>на</strong> от меню “Tools”, <strong>с</strong>е извършва чрез <strong>с</strong>пазване<br />

<strong>на</strong> <strong>с</strong>лед<strong>на</strong>та по<strong>с</strong>ледователно<strong>с</strong>т от дей<strong>с</strong>твия:<br />

Попълва <strong>с</strong>е табл. 2, имаща <strong>с</strong>труктурата като тази <strong>на</strong><br />

таблицата <strong>с</strong> раз<strong>с</strong>тоянията (табл. 1). За изчи<strong>с</strong>ляване <strong>на</strong> <strong>с</strong>умите по<br />

редове и колони в таблицата <strong>с</strong>е ползва функцията “SUM”, а <strong>за</strong><br />

изчи<strong>с</strong>ляване <strong>на</strong> <strong>с</strong>тойно<strong>с</strong>тта <strong>на</strong> целевата функция J – функцията<br />

“SUMPRODUCT” (фиг. 4):<br />

Табл. 2<br />

Фиг. 4. Функция, изчи<strong>с</strong>ляваща <strong>с</strong>тойно<strong>с</strong>тта в целевата клетка $K$31<br />

( 5)<br />

( 6)


От меню “Tools” <strong>с</strong>е избира “Solver…” в резултат, <strong>на</strong> което<br />

<strong>с</strong>е отваря прозореца „Solver Parameters” (Фиг. 5), в който <strong>с</strong>е<br />

избира целева клетка $K$31, в която предварително е въведе<strong>на</strong><br />

формулата <strong>за</strong> изчи<strong>с</strong>ляване <strong>на</strong> <strong>с</strong>тойно<strong>с</strong>тта <strong>на</strong> целевата функция.<br />

Чрез избиране <strong>на</strong> радио бутон “Min” <strong>с</strong>е указва, че <strong>с</strong>е тър<strong>с</strong>и<br />

минимум <strong>на</strong> целевата функция.<br />

Фиг. 5. Прозорец “Solver параметри”<br />

В тек<strong>с</strong>товото поле под етикета “By Changing Cells:”(фиг. 6)<br />

<strong>с</strong>е по<strong>с</strong>очва по<strong>с</strong>ред<strong>с</strong>твом промя<strong>на</strong>та <strong>на</strong> <strong>с</strong>тойно<strong>с</strong>тите в кой обхват<br />

от клетки (табл. 2, обхват $F$26:$J$30) <strong>с</strong>е минимизира целевата<br />

функция.<br />

Фиг. 6. Обхват от клетки <strong>с</strong> променящи <strong>с</strong>е <strong>с</strong>тойно<strong>с</strong>ти<br />

С <strong>на</strong>ти<strong>с</strong>кане <strong>на</strong> бутон “Add” по<strong>с</strong>ледователно <strong>с</strong>е добавят<br />

ограниченията в модела (фиг. 7 и фиг. 8).<br />

Фиг. 7. Ограничителни у<strong>с</strong>ловия<br />

Фиг. 8. Прозорец “Solver параметри” <strong>с</strong> въведени ограничения<br />

Следва <strong>на</strong>ти<strong>с</strong>кане <strong>на</strong> буто<strong>на</strong> „Options”. Отваря <strong>с</strong>е прозореца<br />

„Solver Options” (фиг. 9), в който вляво от етикета “Assume<br />

Linear Model” <strong>с</strong>е по<strong>с</strong>тавя отметка, <strong>с</strong> което <strong>с</strong>е обоз<strong>на</strong>чава, че<br />

модела е линеен, както <strong>с</strong>е по<strong>с</strong>тавя отметка и <strong>с</strong>рещу етикета<br />

“Assume Non-Negative”, <strong>за</strong> да <strong>с</strong>е укаже, че тър<strong>с</strong>еният минимум<br />

трябва да е неотрицателен. За връщане в предходния прозорец<br />

<strong>с</strong>е <strong>на</strong>ти<strong>с</strong>ка бутон “OK”. За извършване <strong>на</strong> изчи<strong>с</strong>ленията и<br />

<strong>на</strong>миране <strong>на</strong> оптимално решение <strong>с</strong>е <strong>на</strong>ти<strong>с</strong>ка бутон “Solve”.<br />

67<br />

Фиг. 9. Прозорец “Solver <strong>на</strong><strong>с</strong>тройки”<br />

След <strong>за</strong>вършване <strong>на</strong> изчи<strong>с</strong>ленията, в потвърждение, че е<br />

<strong>на</strong>мерено оптимално решение, удовлетворяващо <strong>за</strong>дадените<br />

ограничения, “Solver” извежда подходящо <strong>с</strong>ъобщение (фиг. 10).<br />

Фиг. 10. Прозорец “Solver резултати”<br />

С <strong>на</strong>ти<strong>с</strong>кане <strong>на</strong> бутон “OK” при положение, че е о<strong>с</strong>тавен<br />

избраният по подразбиране радио бутон “Keep Solver Solution”,<br />

<strong>с</strong>е <strong>за</strong>пазват резултатите <strong>за</strong> <strong>на</strong>мереното оптимално решение.<br />

Таблично и графично пред<strong>с</strong>тавяне <strong>на</strong> резултатите от<br />

решението <strong>на</strong> <strong><strong>за</strong>дача</strong>та <strong>за</strong> <strong>на</strong>з<strong>на</strong>ченията е извършено<br />

по<strong>с</strong>ледователно в табл. 3 и <strong>на</strong> фиг. 11.<br />

Табл. 3. Оптимално <strong>на</strong>з<strong>на</strong>чение<br />

col C D E F G H I J K<br />

row<br />

от 1 2<br />

Автобу<strong>с</strong><br />

3 4 5<br />

26 1 0 0 0 0 1 1<br />

27 2 1 0 0 0 0 1<br />

28 3 0 1 0 0 0 1<br />

29 4 0 0 0 1 0 1<br />

30 5 0 0 1 0 0 1<br />

1 1 1 1 1 15,8<br />

до<br />

водач 1<br />

водач 2<br />

водач 3<br />

водач 4<br />

водач 5<br />

Водач<br />

1<br />

2<br />

3<br />

4<br />

5<br />

Фиг. 11. Оптимално <strong>на</strong>з<strong>на</strong>чение<br />

1<br />

2<br />

3<br />

4<br />

5<br />

Автобу<strong>с</strong> 1<br />

Автобу<strong>с</strong> 2<br />

Автобу<strong>с</strong> 3<br />

Автобу<strong>с</strong> 4<br />

Автобу<strong>с</strong> 5


4. Резултати и ди<strong>с</strong>ку<strong>с</strong>ия.<br />

Получените от решението <strong>на</strong> <strong><strong>за</strong>дача</strong>та <strong>за</strong> <strong>на</strong>з<strong>на</strong>ченията<br />

резултати (табл. 3 и фиг. 11) показват, че:<br />

1. Оптималното <strong>на</strong>з<strong>на</strong>чение <strong>на</strong> 5 -мата водачи към 5 -те<br />

автобу<strong>с</strong>и, минимизиращо <strong>с</strong>умарното изми<strong>на</strong>вано раз<strong>с</strong>тояние от<br />

ме<strong>с</strong>тоживеене към ме<strong>с</strong>торабота е (1,5), (2,1), (3,2), (4,4) и (5,3),<br />

т.е.:<br />

X1,5 = X2,1 = X3,2 = X4,4 = X5,3 = 1, като в <strong>с</strong>ъщото време<br />

в<strong>с</strong>ички о<strong>с</strong>та<strong>на</strong>ли <strong>с</strong>тойно<strong>с</strong>ти <strong>за</strong> Xi,j <strong>с</strong>а равни <strong>на</strong> 0.<br />

Съгла<strong>с</strong>но полученото оптимално <strong>на</strong>з<strong>на</strong>чение (фиг. 12):<br />

- водач 1 <strong>с</strong>е прикрепва към автобу<strong>с</strong> 5;<br />

- водач 2 <strong>с</strong>е прикрепва към автобу<strong>с</strong> 1;<br />

- водач 3 <strong>с</strong>е прикрепва към автобу<strong>с</strong> 2;<br />

- водач 4 <strong>с</strong>е прикрепва към автобу<strong>с</strong> 4;<br />

- водач 5 <strong>с</strong>е прикрепва към автобу<strong>с</strong> 3.<br />

Автобу<strong>с</strong> 4<br />

Водач 1<br />

Водач 4<br />

Автобу<strong>с</strong> 5<br />

J<br />

5 5<br />

= ∑∑<br />

i= 1 j=<br />

1<br />

Водач 5<br />

L<br />

Водач 2<br />

. X<br />

Автобу<strong>с</strong> 3<br />

Автобу<strong>с</strong> 1<br />

i,<br />

j =<br />

Водач 3<br />

km<br />

Автобу<strong>с</strong> 2<br />

Фиг. 12. Схема “оптимално <strong>на</strong>з<strong>на</strong>чение”<br />

2. След <strong>за</strong>ме<strong>с</strong>тване във формула (4) <strong>с</strong>амо <strong>с</strong> ненулевите<br />

елементи, <strong>за</strong> <strong>с</strong>умарното минимално раз<strong>с</strong>тояние J (табл. 3,<br />

клетка K31), изми<strong>на</strong>вано при придвижване <strong>на</strong> водачите <strong>на</strong><br />

автобу<strong>с</strong>и от вкъщи до работа, получаваме:<br />

J = L1,5.X 1,5+L2,1.X2,1+L3,2.X3,2+L4,4.X4,4+L5,3.X5,3=<br />

= 2,4.1+ 2,8.1 + 3,6.1 + 3,5.1 + 3,5.1 = 15,8 км<br />

5. Заключение.<br />

На ба<strong>за</strong>та <strong>на</strong> извършеното опи<strong>с</strong>ание и пред<strong>с</strong>тавеното<br />

решение <strong>на</strong> <strong><strong>за</strong>дача</strong>та <strong>за</strong> <strong>на</strong>з<strong>на</strong>ченията в <strong>с</strong>редата <strong>на</strong> MS Excel,<br />

чрез ползване <strong>на</strong> възможно<strong>с</strong>тите <strong>на</strong> MS Excel Solver, могат да<br />

<strong>с</strong>е <strong>на</strong>правят <strong>с</strong>ледните <strong>за</strong>ключения:<br />

1. Предложеният подход <strong>за</strong> опи<strong>с</strong>ание <strong>на</strong> разнообразни<br />

<strong>за</strong>дачи и тяхното по<strong>с</strong>ледващо решение, чрез ползване <strong>на</strong> MS<br />

Excel Solver, е ле<strong>с</strong>но приложим;<br />

2. Ползването <strong>на</strong> изчи<strong>с</strong>лител<strong>на</strong> техника и <strong>с</strong>офтуерни<br />

приложения з<strong>на</strong>чително у<strong>с</strong>корява изчи<strong>с</strong>лителните процедури;<br />

3. В <strong>за</strong>ви<strong>с</strong>имо<strong>с</strong>т от целите, <strong><strong>за</strong>дача</strong>та <strong>за</strong> <strong>на</strong>з<strong>на</strong>ченията би<br />

могла да <strong>с</strong>е реши не <strong>с</strong>амо <strong>за</strong> минимизиране <strong>на</strong> <strong>с</strong>умарното<br />

раз<strong>с</strong>тояние от ме<strong>с</strong>тоживеене към ме<strong>с</strong>торабота, а и от глед<strong>на</strong><br />

точка <strong>на</strong> минимално <strong>с</strong>умарно време или минимални <strong>с</strong>умарни<br />

разходи <strong>за</strong> до<strong>с</strong>тигане от жилищни райони до автобу<strong>с</strong>ни гаражи;<br />

4. Разгледа<strong>на</strong>та функцио<strong>на</strong>лно<strong>с</strong>т “Solver”, може да <strong>с</strong>е<br />

използва, както <strong>за</strong> <strong>решаване</strong> <strong>на</strong> <strong>за</strong>дачи от тран<strong>с</strong>портен тип, така<br />

и <strong>за</strong> <strong>решаване</strong> <strong>на</strong> <strong>за</strong>дачи и в други обла<strong>с</strong>ти.<br />

i,<br />

j<br />

15,<br />

8<br />

68<br />

6. Литература.<br />

ЛИТЕРАТУРА<br />

[1] Гатев, Г., “Из<strong>с</strong>ледване <strong>на</strong> операции – избор <strong>на</strong> решения<br />

при определено<strong>с</strong>т”, книга 1, издател<strong>с</strong>тво <strong>на</strong> ТУ – София, 2003г.<br />

[2] Качаунов, Т. Т., “Моделиране и оптими<strong>за</strong>ция <strong>на</strong><br />

тран<strong>с</strong>портните проце<strong>с</strong>и”, второ преработено издание,<br />

Печатница при ВТУ “Тодор Каблешков”, София, 2005 г.<br />

[3] Таха, Х. А., “Введение в и<strong>с</strong><strong>с</strong>ледование операций”, 7-е<br />

издание.: Пер. <strong>с</strong> англ.– М.: Издатель<strong>с</strong>кий дом „Вильям<strong>с</strong>”, 2005г.<br />

[4] Microsoft Excel 2003 Help, Microsoft Corporation

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!