Система имитационного моделирования торгов, проходящих в форме аукциона

УДК 681.51.015.26:330.43

Е.Б. Грибанова, О.В. Каштанова, А.А. Мицель

Система имитационного моделирования торгов, проходящих в форме аукциона

Предложены алгоритмы проведения аукциона с поиском двух победителей. С помощью разработанной системы имитационного моделирования выполнена их оценка и представлены результаты.

Введение

Одним из способов размещения заказов на поставки товаров, работ, услуг для государственных или муниципальных нужд является аукцион. Порядок проведения аукционов регулируется Федеральным законом от 21 июля 2005 года №94-ФЗ «О размещении заказов на поставки товаров, выполнение работ, оказание услуг для государственных и муниципальных нужд» [1]. Согласно федеральному закону под аукционом на право заключить государственный или муниципальный контракт понимаются торги, победителем которых признаётся лицо, предложившее наиболее низкую цену государственного (муниципального) контракта. Аукцион проводится среди участников аукциона путем снижения начальной цены контракта на «шаг аукциона». «Шаг аукциона» устанавливается в размере пяти процентов начальной цены контракта, указанной в извещении о проведении аукциона. В случае если после троекратного объявления последнего предложения о цене контракта ни один из участников аукциона не заявил о своем намерении предложить более низкую цену контракта, организатор торгов вправе снизить шаг аукциона на 0,5 процента начальной цены контракта, но не ниже 0,5 процента начальной цены контракта. Победителем признается лицо, предложившее наиболее низкую цену. Причем федеральный закон не регулирует порядок определения победителя в случае предложения наиболее низкой цены несколькими участниками. На практике, как правило, победителем признается участник, первым предложивший наименьшую цену контракта. Алгоритмически поиск победителя аукциона можно представить следующим образом (рис. 1): StartPrice — начальная цена, объявленная на аукционе; Shag — шаг аукциона; NewPrice — новое значение цены контракта, объявленное на аукционе. После завершения работы алгоритма получим, что цена контракта, предложенная победителем аукциона, составит Price .

Алгоритмы поиска участника аукциона,

сделавшего предпоследнее предложение о цене контракта

В случае, если победитель аукциона уклонится от заключения государственного или муниципального контракта, заказчик имеет право заключить контракт с участником аукциона, который сделал предпоследнее предложение о цене контракта. Эта норма федерального закона позволяет заказчику, в случае не заключения контракта с победителем аукциона, избежать повторного проведения торгов, которое требует дополнительных затрат времени и денежных средств.

Поскольку федеральный закон не регламентирует порядок поиска участника аукциона, сделавшего предпоследнее предложение о цене контракта, то возникает вопрос о стратегии поиска. Рассмотрим следующие схемы поиска.

1. На каждом шаге аукциона фиксируются оба поставщика (последнее и предпоследнее предложение о цене контракта). После определения победителя поиск второго поставщика продолжается по алгоритму, представленному на рис. 1. Начальная цена контракта при этом равна последнему предложению второго поставщика, сниженному на шаг аукциона.

2. На каждом шаге фиксируются оба поставщика (последнее и предпоследнее предложение о цене контракта). После нахождения первого поставщика аукцион считается оконченным.

Уменьшение шага

5- (Ш>5

Завершение аукциона

Рис. 1. Алгоритм поиска победителя аукциона

На рис. 2 приведен подробный алгоритм поиска согласно первой схеме. Здесь МитЖт — переменная, равная единице, если найден победитель, и нулю в противном случае. После завершения работы алгоритма цена контракта, предложенная победителем аукциона (первым), составит РНее1, а участника аукциона, сделавшего предпоследнее предложение о цене контракта (второго), — Ртее2 .

В случае проведения аукциона по второй схеме алгоритм на рис. 2 упрощается. В этом случае будут отсутствовать:

• операторы, связанные с проверкой значения величины МитЖт ;

• операторы, выполняемые при ЫитЖт =1.

В том случае если шаг аукциона минимален, то аукцион завершается.

Каждый из перечисленных алгоритмов поиска характеризуется следующими параметрами:

• число шагов — количество шагов алгоритма, за которое достигнуто наилучшее значение цены контракта;

• цена контракта второго поставщика (Цена) — стоимость предложения участника аукциона, сделавшего предпоследнее предложение о цене контракта;

• эффективность предложения второго поставщика ( Эфф ).

При этом эффективность рассчитывается следующим образом:

„ Цена - ЦенаМин

Эфф =-

Цена

где ЦенаМин — цена победителя аукциона.

Таким образом, чем меньше значение эффективности, тем ближе предпоследнее предложение о цене контракта к цене победителя аукциона.

Представленная задача является задачей многокритериальной оптимизации. Для выбора наиболее оптимального варианта для начала можно определить множество Парето (множество алгоритмов, которые не уступают друг другу по частным характеристикам) или применить способ свертки критериев. Наиболее часто используемыми являются следующие критерии.

Рис. 2. Алгоритм проведения аукциона по первой схеме

Критерий справедливой абсолютной уступки:

Fa = Е *pEp ^

max.

p=1

где Ep — нормированное значение p -го критерия оптимальности (может принимать значение от 0 до 1); Xp — коэффициент важности p -го критерия оптимальности. Критерий справедливой относительной уступки:

p „ X Fo = П Ep p ^ max. p=1

Нормированное значение для критериев, которые необходимо увеличить, рассчитывается следующим образом:

E = EP

EP =-,

max E„

где Ер — значение р -го критерия оптимальности.

Для критериев, которые стремятся уменьшить (число шагов, эффективность, цена покупки у второго поставщика):

p

min Ep

E p - mET

Для данной задачи все критерии необходимо минимизировать.

Моделирование поведения участников аукциона

Рассмотрим моделирование поведения участников аукциона. Оно состоит из двух этапов. На первом этапе осуществляется моделирование случайного события выражения согласия с предложенной ценой (событие считается случайным, т.к. независимо от значения минимальной цены поставщик может согласиться с ней или не согласиться по разным причинам, в том числе занять выжидательную позицию). Это событие моделируется, исходя из значения его вероятности для тех поставщиков, чьи минимальные цены меньше цены, объявленной на рассматриваемом шаге аукциона.

На втором этапе происходит моделирование события первым выразить это согласие (например, первым поднять табличку). Считается, что вероятность этого события для всех участников, согласных на предложенную цену (которые были определены на предыдущем шаге), одинакова и рассчитывается по формуле

P -N

где Pi — вероятность события первым (вторым) выразить согласие на предложенную цену для i -го участника; N — число участников, согласных на предложенную цену.

Таким образом, предполагается, что действия поставщиков независимы друг от друга. Однако такое предположение не всегда верно. Например, в [2] рассматривается взаимодействие участников и приводятся модели торгов, позволяющие определить минимальную цену, которую следует предложить на аукционе, чтобы цель участника была достигнута. Можно выделить следующие цели участников:

1) продажа товара — участник аукциона действует независимо от остальных, и снижает цену до тех пор, пока не будет достигнуто ее минимальное значение (такая ситуация описана выше);

2) ослабление другого участника (считается, что данный участник знает минимальную цену конкурента и действует таким образом, чтобы конкурент продал товар по цене, наиболее близкой к минимальной);

3) уступка другому участнику. На каждом шаге участник следит за действием своего «союзника» и действует соответствующим образом.

Во втором случае алгоритм поведения участника аукциона следующий. Считается, что участник проигрывает аукцион таким образом, что число участников равно двум, и определяет шаг, на котором его конкурент в последний раз предложил цену. Затем он присваивает себе минимальную цену предыдущего шага (если она не меньше его первоначальной минимальной цены). После чего его поведение во время аукциона остается таким же, как и в том случае, если его мотивом является продажа товара.

Модель поведения поставщика в третьем случае приведена в таблице. Очевидно, что первым такой поставщик не будет ни на одном шаге.

Модель поведения поставщика в случае использования мотива «Уступка»

Действие Условие

Не согласен с предложенной ценой Если «союзник» не выразил согласие с предложенной ценой либо цена меньше минимальной цены участника

Согласен с предложенной ценой (является кандидатом на второе место) Если «союзник» выразил согласие с предложенной ценой и является первым

Согласен с предложенной ценой (не является кандидатом ни на первое ни на второе место) Если «союзник» выразил согласие с предложенной ценой и не является первым

Кроме того, логично предположить, что поставщик не будет торговаться с самим собой. Это означает, что если только один поставщик выразил согласие с ценой, предложенной на данном шаге аукциона, то при отсутствии желающих на следующем шаге он также не изъявит такое желание, несмотря на то, что эта цена выше его минимальной цены.

Описание компьютерной системы

Для решения описанной задачи была реализована программа с использованием объектно-ориентированного подхода. Схема системы представляется в виде графа и показана на рис. 3 [3]. Моделирование осуществляется после того, как были введены исходные данные: число случайных реализаций, начальная цена аукциона, параметры для моделирования случайных величин минимальных цен поставщиков, вероятности согласия с предложенной ценой, мотивы и определяющие поставщики. Входные данные (минимальная цена, вероятность выражения согласия, мотивы, определяющие поставщики) могут быть случайными и иметь непрерывный (показательный, равномерный, нормальный) или дискретный закон распределения.

Блок «Расчет результата» предназначен для принятия решения о том, какой алгоритм имеет лучшие характеристики.

Для программной реализации этой схемы было выбрано представление в виде многосвязного списка, каждый элемент которого является объектом класса «Узел» и может иметь произвольное количество предков и потомков. Для решения своей задачи «Узел» включает ссылку на класс «Расчет». Эта структура обеспечивает пересчет всех потомков после изменения входных данных предка. По желанию пользователя можно создавать дополнительные узлы, предоставляющие графическую информацию о соответствующем блоке. Такая архитектура является легко модифицируемой (например, если потребуется добавить другие алгоритмы).

Продвижение модельного времени во время имитации аукциона осуществляется способом ду, согласно которому через определенный шаг происходит моделирование всех событий системы. Этот шаг не имеет временного выражения, а соответствует шагу аукциона. События, моделируемые на каждом шаге:

• моделирование реакции на предложенную цену поставщиков, чье поведение в процессе моделирования не зависит от остальных, т.е. мотивы которых — покупка товара и ослабление поставщика (согласие/не согласие);

• моделирование реакции на предложенную цену поставщиков, чье поведение зависит от остальных (согласие/не согласие);

• моделирование событий, в результате которых определяется (в зависимости от модели поведения) первый поставщик, выразивший согласие с предложенной ценой;

• моделирование поведения организатора аукциона (уменьшение цены, шага, завершение аукциона), которое осуществляется в зависимости от алгоритма.

Программа реализована в среде Visual Basic 6.0. Интерфейс представлен на рис. 4.

Рис. 3. Схема системы

Рис. 4. Интерфейс системы: 1, 5 — окно графика; 2 — статистические данные; 3 — гистограмма распределения выходной случайной величины; 4 — окно с результатами моделирования; 6 — форма моделирования проведения аукциона по определенному алгоритму; 7 — окно ввода исходных данных

Пример

Рассмотрим простой пример, в котором осуществим моделирование в течение одной реализации.

Пусть в аукционе принимают участие 3 человека. Минимальные цены участников равны — 9100, 9000, 8000 соответственно. Вероятность выражения согласия с ценой в том случае, если она не меньше его минимальной цены, равна единице. Цель всех участников — продажа товара. Начальная цена лота равна 9600.

Результаты сведены в форму, представленную на рис. 5. Таким образом, множество Парето составили оба алгоритма. При использовании первого алгоритма эффективность меньше, а применение второго алгоритма обеспечивает меньшее число шагов. Поэтому необходимо указать весовые коэффициенты важности для расчета значения единой целевой функции. Приняв эти значения равными 0,7 и 0,3 для эффективности и числа шагов соответственно, получим, что использование первого алгоритма предпочтительнее.

Однако результаты при изменении входных данных могут отличаться и второй алгоритм будет эффективнее в том случае, если поиск предпоследнего поставщика в первом алгоритме после нахождения победителя не дал результатов (например, такая ситуация может возникнуть, когда минимальные цены двух участников с наилучшими предложениями равны) (рис. 6).

Заключение

Были разработаны имитационные алгоритмы поиска победителей аукциона. Рассмотрены случаи, когда участники преследуют различные цели. На основе объектно-ориентированной технологии реализована компьютерная система имитационного моделирования аукциона.

Рис. 5. Форма с результатами моделирования

алгоритм принадлежит множеству Порето '> алгоритм не принадлежит множеству Порето

Рис. 6. Результаты моделирования

Проведение многократных опытов с большим количеством случайных реализаций показало, что результаты моделирования могут отличаться в зависимости от входных данных. Однако в большинстве случаев оптимальными по Парето являются оба алгоритма. Первый алгоритм обеспечивает получение меньшего значения эффективности, второй является более простым для применения, при его использовании число шагов аукциона минимально.

При моделировании с учетом мотивов наблюдается та же ситуация.

Литература

1. Федеральный закон № 94 от 21.07.2005 о размещении заказов на поставки товаров, выполнение работ, оказание услуг для государственных и муниципальных нужд.

2. Малыхин В.И. Финансовая математика / В.И. Малыхин. - М. : ЮНИТИ-ДАНА, 2002. - 247 с.

3. Бойченко И.В. Программное обеспечение моделирования, обработки и анализа данных лидарного зондирования газового состава атмосферы : дис. ... канд. техн. наук. — Томск, 2002. - 113 с.

Мицель Артур Александрович

Д-р техн. наук, профессор кафедры автоматизированных систем управления ТУСУРа Телефон: (3822) 41 31 57 Эл. почта: maa@asu.tusur.ru

Каштанова Ольга Валерьевна

Ассистент кафедры автоматизированных систем управления ТУСУРа Телефон: (3822) 41 31 57

Грибанова Екатерина Борисовна

Аспирант кафедры автоматизированных систем управления ТУСУРа Телефон: (3822) 41 31 57

O.V. Kashtanova, A.A. Mitsel, E.B. Gribanova The simulation modeling system of auction tenders

In this article the algorithms of the realization of auction with search of two winners are offered. The estimation is executed using developed system of simulation modeling and the results are given in the article.