Автор: Пользователь скрыл имя, 17 Января 2012 в 23:02, курсовая работа
В настоящее время – время высоких технологий – людям не обойтись без помощи мобильных телефонов, компьютеров и интернета, без помощи техники, которая выполняет за них тяжелую умственную работу. К такой технике принадлежат кассовые аппараты, которые имеет в своем обиходе каждый магазин. Ростовская фирма «Формула торговли» занимается приобретением, производством, сбытом и сервисным обслуживанием кассовых аппаратов. Конечно, при приобретении кассового аппарата покупателю дается гарантия на ремонт (при поломке аппарата), но также покупатель обязан заключить договор на сервисное обслуживание раз в один, два или три месяца. Сервисным обслуживанием занимаются специальные инженеры по регламенту, которые проверяют работоспособность касс и устраняют возникшие неполадки. Получается, что всего несколько человек должны за один месяц проверить работоспособность более 1000 кассовых аппаратов по всему городу.
Алгоритм использует три массива из n (число вершин сети) чисел каждый. Первый массив a содержит метки с двумя значениями: 0 (вершина ещё не рассмотрена) и 1 (вершина уже рассмотрена); второй массив b содержит расстояния – текущие кратчайшие расстояния от vi до соответствующей вершины; третий массив c содержит номера вершин – k-й элемент ck есть номер предпоследней вершины на текущем кратчайшем пути из vi в vk. Матрица расстояний Dik задаёт длины дуг dik; если такой дуги нет, то dik присваивается большое число Б, равное “машинной бесконечности”.
Теперь опишем сам алгоритм.
если bk>bj+djk, то bk:=bj+djk; ck:=j. Условие означает, что путь vi..vk длиннее, чем путь vi..vj,vk . Если все a[k] отмечены, то длина пути vi..vk равна b[k]. Теперь надо перечислить вершины, входящие в кратчайший путь.
3.1. z:=c[k];
3.2. Выдать z;
3.3. z:=c[z]; Если z = 0, то конец, иначе перейти к 3.2.
Для
выполнения алгоритма нужно n раз просмотреть
массив b из n элементов, т. е. алгоритм Дейкстры
имеет квадратичную сложность. Проиллюстрируем
работу алгоритма Дейкстры численным
примером (для большей сложности, считаем,
что некоторые города (вершины) i, j не соединены
между собой, то есть D[i,j]=∞). Пусть, например,
i=3. Требуется найти кратчайшие пути из
вершины 3. Содержимое массивов a,b,c после
выполнения первого пункта показано в
таблице 1:
Таблица 1 – Содержимое массива после выполнения первого пункта.
Очевидно, содержимое таблицы меняется по мере выполнения общего шага. Это видно из таблицы 2:
Таблица 2 – Содержимое массива после выполнения второго пункта.
Таким образом, для решения ЗК нужно n раз применить алгоритм Дейкстры следующим образом. Возьмём произвольную пару вершин j,k. Исключим непосредственное ребро C[j,k]. С помощью алгоритма Дейкстры найдём кратчайшее расстояние между городами j..k. Пусть это расстояние включает некоторый город m. Имеем часть тура j,m,k. Теперь для каждой пары соседних городов (в данном примере – для j,m и m,k) удалим соответственное ребро и найдём кратчайшее расстояние. При этом в кратчайшее расстояние не должен входить уже использованный город. Далее аналогично находим кратчайшее расстояние между парами вершин алгоритмом Дейкстры, до тех пор, пока все вершины не будут задействованы. Соединим последнюю вершину с первой и получим тур. Чаще всего это последнее ребро оказывается очень большим, и тур получается с погрешностью (рисунок 3), однако алгоритм Дейкстры можно отнести к приближённым алгоритмам.
Рисунок 3 – Конечный тур при решении задачи алгоритмом Дейкстры.
2.1.4. Метод ветвей и границ
К идее метода ветвей и границ приходили многие исследователи, но Литтл с соавторами на основе указанного метода разработали удачный алгоритм решения ЗК и тем самым способствовали популяризации подхода. С тех пор метод ветвей и границ был успешно применен ко многим задачам, для решения ЗК было придумано несколько других модификаций метода, но в большинстве учебников излагается пионерская работа Литтла.
Общая идея тривиальна: нужно разделить огромное число перебираемых вариантов на классы и получить оценки (снизу – в задаче минимизации, сверху – в задаче максимизации) для этих классов, чтобы иметь возможность отбрасывать варианты не по одному, а целыми классами. Трудность состоит в том, чтобы найти такое разделение на классы (ветви) и такие оценки (границы), чтобы процедура была эффективной[2.2].
2.2 Алгоритм Литтла
В курсовой работе для решения задачи о коммивояжере применяется метод ветвей и границ, или алгоритм Литтла, относящийся к методам дискретной оптимизации. В сущности, это полный перебор решений, который оптимизируется за счет того, что при переборе вариантов по определенным признакам отсекаются неоптимальные множества перебора. Так как количество вершин от уровня к уровню возрастает в факториальной прогрессии, то отсечение вершин верхних уровней значительно сокращает общее число перебираемых вариантов.
Общая схема метода такова:
-
получится гамильтонов контур, длина
которого меньше длины первого
рекорда, такой контур
- полученный контур имеет длину больше первого рекорда, тогда ветвь является тупиковой.
Ветвление
продолжается до тех пор, пока не будут
просмотрены все подмножества, имеющие
нижние границы меньшие, чем длина
лучшего рекорда[1].
3 ОПТИМИЗАЦИЯ МАРШРУТА СЕРВИСНОГО ОБСЛУЖИВАНИЯ
3.1 Математическая постановка задачи оптимизации
Пусть N - число городов.
Cij, i, j=1..N - матрица затрат, где Cij - затраты на переход из i-го города в j-й.
Xij - матрица переходов с компонентами:
Xij = 1, если коммивояжер совершает переход из i-го города в j-й,
Xij = 0, если не совершает перехода, где i, j = 1..N и i≠j.
Целевая функция Z=∑∑Cij*Xij→min.
∑Xij=1 – только один въезд в каждый j-й город;
∑Xij=1 – только один выезд из каждого j-го города.
Xij={0,1}.
Введем дополнительное ограничение для исключения возможности подциклов: дополнительные целочисленные переменные
Ui≥0, Ui-Uj+N*Xij ≤ N-1, i,j=2…N[1].
3.2 Нахождение оптимального пути
За один месяц (22 рабочих дня) инженер по регламенту должен проверить работоспособность около 250 касс в разных районах города. Занесем данные о кассах, их количестве и месте нахождения в таблицу 4.
Таблица 4 – Расположение касс.
№ | Улица | № улицы | Клиент | Касса |
1 | Доватора | 146 | ИП Галкин
ООО Стройиндустрия ООО Союз Инвест |
2 ККМ
1 ККМ 1 ККМ |
147 | ООО Лион Лайн | 1 ККМ | ||
154 | ООО БРВ-Трейдинг | 1 ККМ |
Продолжение таблицы 4.
150 | ООО Торговля Плюс
ООО Симал Сталь ООО ПЭК |
2 ККМ
1 ККМ 1 ККМ | ||
155 | ИП Богдасарян
ООО Стринг |
1 ККМ
1 ККМ | ||
160 | ОАО Ростов Лада
ИП Хорунжий |
1 ККМ
1 ККМ | ||
267 | ООО БРВ-Трейдинг
ООО Клондайк-Вест |
1 ФР
4ККМ, 1 ФР | ||
158 | ИП Канзапетьян | 1 ККМ | ||
2 | Малиновского | 12 | ИП Тишина | 1 ФР |
23д | ИП Гухряева
ООО Секундочку ООО Велес Плюс ООО ТК Мэверик ООО 585 Юг-1 |
1 ФР
1 ФР 1 ФР 1 ККМ 1 ФР | ||
25 | ООО Соломандер
в России
ООО Тами и КО ООО Юниверфуд |
1 POS-терминал
2 ФР 3 ФР | ||
33/89 | ООО Фортуна Моторс | 1 ККМ | ||
196 | ООО СГС | 1 ФР | ||
3 | Еременко | 60 | ООО Интер Дон | 1 ККМ |
62 | ИП Бабаджанян | 1 ККМ | ||
4 | Зорге | 31 | ООО Будь здоров | 2 ФР |
32/1 | ООО Семейный квартал | 2 ФР | ||
37 | ИП Денисовская | 1 ФР | ||
38 | ООО МНСИ | 1 ККМ | ||
5 | Ленточная | 1 | ООО Южные ворота | 1 ККМ |
Продолжение таблицы 4.
ИП Андрюхина | 1 ККМ | |||
6 | 339й Стрелковой дивизии | 31 | ООО Серпантино
ИП Савченко |
5 ККМ
1 ФР |
17 | ИП Губыш | 1 ФР | ||
5/60 | ИП Прохоров | 1 ККМ | ||
9а | ИП Панайотиди Э.Г. | 1 ККМ | ||
13 | ИП Васильева | 1 ККМ | ||
7 | Разъезд западный | 7 | ИП Шипелов | 1 ККМ |
8 | Пер. Певчий | ИП Дудников | 1 ККМ | |
9 | Мадояна | 110/4 | ИП Малкина | 1 ККМ |
10 | Лесная | 94 | ООО Ника Плюс | 4 ККМ |
11 | Мясниковский р-н промзона Юговосточная | 8 | ООО Полиальт
ООО СКЛ |
1 ККМ
1 ККМ |
8/1 | ИП Чекмазов | 1 ККМ | ||
9/4 | ИП Конькова | 1 ККМ | ||
12/4 | ИП Черников | 1 ККМ | ||
12 | 56й армии | 1 | ООО Новый Колос | 1 ККМ, 1 ФР |
13 | Нансена | 87 | ИП Ермаков | 1 ККМ |
14 | Природная | 2е | ООО Кровельный Центр | 1 ККМ |
15 | Лесопарковая | 17 | ИП Сливной | 1 ККМ |
16 | Буквенная | 44 | ООО Люкс Авто | 1 ККМ |
17 | Ленина | 58а | ООО Бизнес-групп | 1 ККМ |
72 | ООО Солнечный круг | 9 ФР | ||
81 | ООО 585 Юг-1 | 1 ККМ, 1 ФР | ||
98 | ООО Ленмедснаб – Доктор Столета | 2 ФР | ||
101 | ООО 585 Юг-2 | 1 ККМ, 1 ФР |
Информация о работе Оптимизация процесса сервисного обслуживания кассовых аппаратов