Сперва, наверное, необходимо ввести для каждой точке(инкассируемому обьекту) степень важности этой точки. Эту величину можно ввести разными путями, в зависимости от количества и качества известных данных. Например,если известно (по предыдущим инкассациям) количество выручки получаемой от каждой точки
, можно посчитать долю выручки каждой точки
. Чем выше доля прибыли точки, тем выше степень важности этой точки. Или если неизвестна прибыль каждой точки, то степень важности можно ввести по кол-ву близлежащих домов
к данной точке и количеству проезжающих машин в час(
) мимо той или иной точки.Чем больше
тем вероятнее , что точка будет иметь большую прибыль, а значит и степень важности ее будет выше. Далее можно ввести классификацию, присвоить самой вероятно прибыльной точке число 1, менее вероятноприбыльной - 2, и т. д. Так для каждой точке установим степень ее важности. В итоге имеем:карту с обозначенными на ней точками(инкассируемыми обьектами), точки упорядочены по степени их важности, также на карте обозначены пути, назовем их ветки (ветка - на карте отрезок соединяющий одну точку(инкассируемый обьект) с другой, причем этому отрезку могут принадлежать только две точки(т.е. два инкассируемых обьекта), очевидно они будут лежать наконцах этого отрезка).Введем для каждой такой ветви величину - времяемкость
,
всегда. Т.е чем ветвь труднопроходима(это связано с плотностью светофоров, с загруженностью дороги и т.д.), тем меньшую отрицательную величину
эта ветка имеет. Отсюда вывод:самая легкопроходимая ветка из всех веток имеет величину
.Самая легкопроходимая ветка из всех веток за исключением той ветки, которой мы уже присвоили
, имеет значение
, и т.д. Если всего веток на карте n штук, то самая труднопроходимая ветвь будет иметь значение
. Времяемкость почти похожа на звездную величину, введенную в астрономии, чем больше светимость звезды, тем меньше звездная величина этой звезды.В отличии от звездной величины, времяемкость всегда отрицательна. В итоге: на карте обозначены точки(инкассируемые обьекты), этим точкам присвоены различные числа от 1 до m(где m - кол-во
точек на карте), на карте обозначены дороги(ветки), этим дорогам присвоены числа от -1 до -n.
Далее разобьем карту на две половинки, скажем вертикальной чертой.Карта разобьется на две половинки, левую и правую. Посчитаем степень важности каждой половинки. Эт степень важности половинки будет получаться как сумма всех степеней важности точек находящихся в данном квадрате да плюс сумма всех времяемкостей веток, которые находятся в заданном квадрате.Найдем степень важности левой и правой половинки.Если степень левой половинки карты будет больше степени правой половинки карты. то инкасировать надо начинать с левой половинки, если наоборот, степень правой больше левой, то начинать надо с правой. Таким образом. мы определим с какой половинки надо начинать инкассировать.Даллее ту половинку, степень которой больше разделим снова на пополам. Теперь карта будет состоять из 3-ех частей. Посчитаем степень важности двух частей , которые находятся в половинке . Пусть они равны(x,y). Начнем инкассирование с тойчасти , степень важности которой max(x,y), эту часть назовем часть А. Затем разделим вторую половинку карты, на две части , посчитаем степень важности. И так далее каждый участок снова делим на пополам . считаем их степень важности. Когда разделим на пополам, часть А, посчитаем их степень важности пусть они равны (p,q), и выберем ту часть степень которой max(p,q).Эту часть мы назовем часть А.И т.д.Все время часть А,делим на 2 части ,большую часть(в смысле степень важности) на зываем часть А.
В итоге: наша карта превратиться в карту на которой , будут нанесены площади(квадраты), с нанесенной степенью важности квадрата.Это деление будет продолжаться до тех пока часть А не будет содержать только одну точку(один инкассируемый обьект). =>Первоначально начинаем инкассировать точку в текущей части А.А затем едем в соседнюю часть, причем в ту соседнюю, что обе две части составляли часть А предидущего шага.И т.д.
Модель к сожалению получилась статическая. К примеру не учтен, час пик.Т.е изменение времяемкости ветки в течении суток.
Вряд ли такая модель оптимальная, но в этой модели учтено практически все, кроме стоимости бензина.
А вообще, эта задача решается с помощью ЭВМ.Программирование. Эта задача сходна с задачей коммивояжера, или еще ее называют задача кладоискателя. Пишется прога, используя метод рекурсии.