Применение теории игр для оптимизации принимаемых решений

 

Содержание


Введение

. Применение теории игр для оптимизации принимаемых решений

.1 Теория математических моделей принятия оптимальных решений

.2 Основные понятия теории игр. Классификация игр

.3 Решение матричных игр в чистых стратегиях

.4 Принятие решения в условиях неопределённости. Критерии принятия решения

.4.1 Критерий максимального математического ожидания выигрыша

.4.2 Критерий недостаточного основания Лапласа

.4.3 Максиминный критерий Вальда

.4.4 Критерий минимаксного риска Сэвиджа

.4.5 Критерий пессимизма-оптимизма Гурвица

.4.6 Критерий Ходжа-Лемана

. Разработка программного приложения

.1 Программная среда разработки

.2 Структура проекта

.3 Описание работы с программой

. Охрана труда и безопасность жизнедеятельности

.1 Описание рабочего места пользователя

.2 Освещенность рабочего места

.3 Нормирование шума

Заключение

Список использованной литературы


Введение


Искусство принятия наилучших решений, основанное на опыте и интуиции, является сущностью любой сферы человеческой деятельности. Наука о выборе приемлемого варианта решения сложилась сравнительно недавно, а математической теории принятия решений - около 50 лет.

Основы теории принятия решений разработаны Джоном фон Нейманом и Отто Моргенштерном.

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

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

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

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

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

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

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

Использование методов ТПР позволяет решить эту проблему, причем быстро и с достаточной степенью точности [2].

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

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

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

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

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

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

В этом случае можно говорить о конфликте человека с природой [2].

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

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

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

Объектом исследования дипломного проекта являются методы решения задач в условиях неопределенности.

Целью данного проекта является разработка программного приложения для автоматизации расчетов. Требования к программе:

1.информация должна отображаться в полной форме;

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

.не требовать больших ресурсов оперативной памяти.

.быть совместимой с операционной системой Windows любой версии.

Теоретической и методологической основой проведения исследования явились литература по теме работы.

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

Во введении обоснована актуальность выбора темы, практическое значение, описан объект исследования, поставлены цель и задачи проекта.

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

Во второй части описывается создание и работа с программным приложением.

Третья часть посвящена охране труда и технике безопасности, как немаловажной стороне при работе с вычислительной техникой.

Даны некоторые назначения и рекомендации при организации рабочего места, предостережения о возможных опасных моментов в работе и способах их избежание.

1. Применение теории игр для оптимизации принимаемых решений


1.1 Теория математических моделей принятия оптимальных решений


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

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

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

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

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

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

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

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

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

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

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

При этом, разумеется, степень этого упрощения не должна превосходить известных пределов, за которыми модель уже утрачивает существенные черты явления.

Теория игр есть теория математических моделей; она является разделом математики. Это значит, что конструируемые в ней модели являются формальными, знаковыми (а не макетными или аналоговыми) моделями и их формирование и средства их анализа также формальны.

В частности, формально должны вводиться в рассмотрение и основные понятия теории игр.

Практически это означает, что эти понятия должны задаваться своими основными свойствами, которым тем самым придается смысл аксиом.

Дальнейшее образование понятий и установление свойств может вестись уже без повторного обращения к их содержательному смыслу и без того, чтобы прибегать к каким-либо «интуитивным» соображениям.

Сказанное отнюдь не оспаривает практической целесообразности использования интуиции, особенно как способа практической проверки формально полученных результатов [4].


1.2 Основные понятия теории игр. Классификация игр


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

Такие ситуации называются «конфликтными ситуациями» [5].

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

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

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

Необходимость анализировать подобные ситуации вызвала к жизни специальный математический аппарат.

Теория игр по существу представляет собой не что иное, как математическую теорию конфликтных ситуаций.

Цель теории - выработка рекомендаций по рациональному образу действий каждого из противников в ходе конфликтной ситуации.

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

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

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

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

Примерами могут служить шахматы, шашки, карточные игры и т. д. Все эти игры носят характер соревнования, протекающего по известным правилам и заканчивающегося «победой» (выигрышем) того или иного игрока [6].

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

Терминология, заимствованная из практики таких игр, применяется и при анализе других конфликтных ситуаций: стороны, участвующие в них, условно именуются «игроками», а результат столкновения - «выигрышем» одной из сторон.

В игре могут сталкиваться интересы двух или более противников; в первом случае игра называется «парной», во втором - «множественной». Участники множественной игры могут в ее ходе образовывать коалиции - постоянные или временные.

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

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

Случайный ход - это случайно выбранное действие (например, выбор карты из перетасованной колоды). В дальнейшем мы будем рассматривать только личные ходы игроков.

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

Обычно в процессе игры при каждом личном ходе игрок делает выбор в зависимости от конкретной ситуации.

Однако в принципе, возможно, что все решения приняты игроком заранее (в ответ на любую сложившуюся ситуацию).

Это означает, что игрок выбрал определенную стратегию, которая может быть задана в виде списка правил или программы. (Так можно осуществить игру с помощью ЭВМ). Игра называется конечной, если у каждого игрока имеется конечное число стратегий, и бесконечной - в противном случае [7].

Для того чтобы решить игру, или найти решение игры, следует для каждого игрока выбрать стратегию, которая удовлетворяет условию оптимальности, т.е. один из игроков должен получать максимальный выигрыш, когда второй придерживается своей стратегии.

В то же время второй игрок должен иметь минимальный проигрыш, если первый придерживается своей стратегии. Такие стратегии называются оптимальными.

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

Если игра повторяется достаточно много раз, то игроков может интересовать не выигрыш и проигрыш в каждой конкретной партии, а средний выигрыш (проигрыш) во всех партиях.

Целью теории игр является определение оптимальной стратегии для каждого игрока.

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

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

Классификация игр

Классификацию игр можно проводить: по количеству игроков, количеству стратегий, характеру взаимодействия игроков, характеру выигрыша, количеству ходов, состоянию информации и т.д. [8].

В зависимости от количества игроков различают игры двух и n игроков. Первые из них наиболее изучены.

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

По количеству стратегий игры делятся на конечные и бесконечные. Если в игре все игроки имеют конечное число возможных стратегий, то она называется конечной. Если же хотя бы один из игроков имеет бесконечное количество возможных стратегий, игра называется бесконечной.

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

В кооперативных играх коалиции заранее определены.

По характеру выигрышей игры делятся на: игры с нулевой суммой (общий капитал всех игроков не меняется, а перераспределяется между игроками; сумма выигрышей всех игроков равна нулю) и игры с ненулевой суммой.

По виду функций выигрыша игры делятся на: матричные, биматричные, непрерывные, выпуклые и др.

Матричная игра это конечная игра двух игроков с нулевой суммой, в которой задаётся выигрыш игрока 1 в виде матрицы (строка матрицы соответствует номеру применяемой стратегии игрока 1, столбец номеру применяемой стратегии игрока 2; на пересечении строки и столбца матрицы находится выигрыш игрока 1, соответствующий применяемым стратегиям).

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

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

Непрерывной считается игра, в которой функция выигрышей каждого игрока является непрерывной.

Доказано, что игры этого класса имеют решения, однако не разработано практически приемлемых методов их нахождения.

Если функция выигрышей является выпуклой, то такая игра называется выпуклой.

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

Такая задача решается сравнительно легко.


1.3 Решение матричных игр в чистых стратегиях


Запись матричной игры в виде платёжной матрицы

В общем виде матричная игра может быть записана следующей платёжной матрицей [9, 10] (таблица 1),

Таблица 1

Общий вид платёжной матрицы матричной игры

B1B2…BnA1A11A12...A1nA2A21A22...A2n…............Amam1am2...amnгде Ai - названия стратегий игрока 1, Bj - названия стратегий игрока 2, aij - значения выигрышей игрока 1 при выборе им i - й стратегии, а игроком 2 - j - й стратегии. Поскольку данная игра является игрой с нулевой суммой, значение выигрыша для игрока 2 является величиной, противоположенной по знаку значению выигрыша игрока 1.


Понятие о нижней и верхней цене игры.

Каждый из игроков стремится максимизировать свой выигрыш с учётом поведения противодействующего ему игрока.

Поэтому для игрока 1 необходимо определить минимальные значения выигрышей в каждой из стратегий, а затем найти максимум из этих значений, то есть определить величину Vн = maxi minj aij, или найти минимальные значения по каждой из строк платёжной матрицы, а затем определить максимальное из этих значений.

Величина Vн называется максимином матрицы или нижней ценой игры [11].

Величина выигрыша игрока 1 равна, по определению матричной игры, величине проигрыша игрока 2. Поэтому для игрока 2 необходимо определить значение Vв = minj maxi aij.

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

В случае, если значения Vн и Vв не совпадают, при сохранении правил игры (коэффициентов aij ) в длительной перспективе, выбор стратегий каждым из игроков оказывается неустойчивым. Устойчивость он приобретает лишь при равенстве Vн = Vв = V.

В этом случае говорят, что игра имеет решение в чистых стратегиях, а стратегии, в которых достигается V - оптимальными чистыми стратегиями. Величина V называется чистой ценой игры. [8].

Например, в матрице (таблица 2)


Таблица 2

Платёжная матрица, в которой существует решение в чистых стратегиях

B1B2B3B4MinjA176544A218231A381321Maxi8854

существует решение в чистых стратегиях. При этом для игрока 1 оптимальной чистой стратегией будет стратегия A1, а для игрока 2 - стратегия B4.

В матрице (таблица 3)


Таблица 3

Платёжная матрица, в которой не существует решения в чистых стратегиях

B1B2B3B4MinjA176522A218231A381321Maxi8853

решения в чистых стратегиях не существует, так как нижняя цена игры достигается в стратегии A1 и её значение равно 2, в то время как верхняя цена игры достигается в стратегии B4 и её значение равно 3.

Уменьшение порядка платёжной матрицы

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

Стратегия K* называется доминируемой стратегией K**, если при любом варианте поведения противодействующего игрока выполняется соотношение Ak* < Ak**, где Ak* и Ak** - значения выигрышей при выборе игроком, соответственно, стратегий K* и K**.

В случае, если выполняется соотношение Ak* = Ak**, стратегия K* называется дублирующей по отношению к стратегии K**.

Например, в матрице (таблица 4)


Таблица 4

Платёжная матрица с доминируемыми и дублирующими стратегиями

B1B2B3B4B5B6A1123447A2765448A3182336A4813225

стратегия A1 является доминируемой по отношению к стратегии A2, стратегия B6 является доминируемой по отношению к стратегиям B3, B4 и B5, а стратегия B5 является дублирующей по отношению к стратегии B4. Данные стратегии не будут выбраны игроками, так как являются заведомо проигрышными и удаление этих стратегий из платёжной матрицы не повлияет на определение нижней и верхней цены игры, описанной данной матрицей.

Множество недоминируемых стратегий, полученных после уменьшения размерности платёжной матрицы, называется ещё множеством Парето (по имени итальянского экономиста Вильфредо Парето, занимавшегося исследованиями в данной области) [7].

Понятие о матричных играх со смешанным расширением

Исследование в матричных играх начинается с нахождения её чистой цены. Если матричная игра имеет решение в чистых стратегиях, то нахождением чистой цены заканчивается исследование игры.

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

Улучшение решений матричных игр следует искать в использовании секретности применения чистых стратегий и возможности многократного повторения игр в виде партии.

Этот результат достигается путём применения чистых стратегий случайно, с определённой вероятностью [13].

Смешанной стратегией игрока называется полный набор чистых стратегий, применённых в соответствии с установленным распределением вероятностей.

Матричная игра, решаемая с использованием смешанных стратегий, называется игрой со смешанным расширением.

Стратегии, применённые с вероятностью, отличной от нуля, называются активными стратегиями.

Доказано [1, 2, 4, 7, 8, 11], что для всех игр со смешанным расширением существует оптимальная смешанная стратегия, значение выигрыша при выборе которой находится в интервале между нижней и верхней ценой игры: Vн £ V £ Vв.

При этом условии величина V называется ценой игры.

Кроме того, доказано, что, если один из игроков придерживается своей оптимальной смешанной стратегии, то выигрыш остаётся неизменным и равным цене игры V, независимо от того, каких стратегий придерживается другой игрок, если только он не выходит за пределы своих активных стратегий.

Поэтому, для достижения наибольшего гарантированного выигрыша второму игроку также необходимо придерживаться своей оптимальной смешанной стратегии [14].


1.4 Принятие решения в условиях неопределённости. Критерии принятия решения


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

Объективно окружающая среда не заинтересована в проигрыше игрока.

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

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

Матричная игра, в которой игрок взаимодействует с окружающей средой, не заинтересованной в его проигрыше, и решает задачу определения наиболее выгодного варианта поведения с учётом неопределённости состояния окружающей среды, называется статистической игрой или «игрой с природой».

Игрок в этой игре называется лицом, принимающим решение (ЛПР). [3,6,9,10].

В общем виде платёжная матрица статистической игры приведена в таблице 5.


Таблица 5

Общий вид платёжной матрицы статистической игры

S1S2…SnA1A11A12...A1nA2A21A22...A2n…............Anam1am2...amn

В данной игре строки матрицы (Ai ) - стратегии ЛПР, а столбцы матрицы (Sj) - состояния окружающей среды.

Критерии принятия решения

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

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

Из массива результатов принятия решений ЛПР выбирает элемент W, который наилучшим образом отражает мотивацию его поведения [16].


1.4.1 Критерий максимального математического ожидания выигрыша

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

Платёжная матрица дополняется столбцом, каждый элемент которого представляет собой значение математического ожидания выигрыша при выборе соответствующей стратегии ЛПР:


, (1.4.1)


где pj -вероятность j-го состояния окружающей среды [17].

Оптимальной по данному критерию считается та стратегия ЛПР, при выборе которой значение математического ожидания выигрыша максимально: W = max Wi

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

. ЛПР известны вероятности всех состояний окружающей среды;

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

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


1.4.2 Критерий недостаточного основания Лапласа

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

(1.4.2)


Оптимальной по данному критерию считается та стратегия ЛПР, при выборе которой значение среднего выигрыша максимально: W = max Wi

Использование данного критерия оправдано в следующей ситуации:

. ЛПР не имеет информации, либо имеет неполную информацию о вероятностях состояний окружающей среды;

. Вероятности состояний окружающей среды близки по своим значениям;

. Минимизация риска проигрыша представляется ЛПР менее существенным фактором принятия решения, чем максимизация среднего выигрыша [18].


1.4.3 Максиминный критерий Вальда

Правило выбора решения в соответствии с максиминным критерием (ММ-критерием) можно интерпретировать следующим образом:

Платёжная матрица дополняется столбцом, каждый элемент которого представляет собой минимальное значение выигрыша в соответствующей стратегии ЛПР: Wi = minj aij

Оптимальной по данному критерию считается та стратегия ЛПР, при выборе которой минимальное значение выигрыша максимально: W = max Wi

Выбранная таким образом стратегия полностью исключает риск.

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

Это свойство позволяет считать ММ-критерий одним из фундаментальных.

Применение ММ-критерия оправдано, если ситуация, в которой принимается решение следующая:

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

. Решение реализуется только один раз;

. Необходимо исключить какой бы то ни было риск [19].


1.4.4 Критерий минимаксного риска Сэвиджа

Величина (amax j - aij ), где amax j - максимальный элемент j - го столбца, может быть интерпретирована как дополнительный выигрыш, получаемый в условиях состояния окружающей среды Sj при выборе ЛПР наиболее выгодной стратегии, по сравнению с выигрышем, получаемым ЛПР при выборе в тех же условиях любой другой стратегии.

Эта же разность может быть интерпретирована как величина возможного проигрыша при выборе ЛПР I - й стратегии по сравнению с наиболее выгодной стратегией.

На основе данной интерпретации разности выигрышей производится определение наиболее выгодной стратегии по критерию минимаксного риска [20].

Для определения оптимальной стратегии по данному критерию на основе платёжной матрицы рассчитывается матрица рисков, каждый коэффициент которой (rij) определяется по формуле: rij = amax j - aij

Матрица рисков дополняется столбцом, содержащим максимальные значения коэффициентов rij по каждой из стратегий ЛПР: Ri = maxj rij

Оптимальной по данному критерию считается та стратегия, в которой значение Ri минимально: W = min Ri

Ситуация, в которой оправдано применение критерия Сэвиджа, аналогична ситуации ММ-критерия, однако наиболее существенным в данном случае является учёт степени воздействия фактора риска на величину выигрыша.


1.4.5 Критерий пессимизма-оптимизма Гурвица

В практике принятия решений ЛПР руководствуется не только критериями, связанными с крайним пессимизмом или учётом максимального риска.

Стараясь занять наиболее уравновешенную позицию, ЛПР может ввести оценочный коэффициент, называемый коэффициентом пессимизма, который находится в интервале [0, 1] и отражает ситуацию, промежуточную между точкой зрения крайнего оптимизма и крайнего пессимизма.

Данный коэффициент определяется на основе статистических исследований результатов принятия решений или личного опыта принятия решений в схожих ситуациях [21].

Платёжная матрица дополняется столбцом, коэффициенты которого рассчитываются по формуле:


Wi = C×minj aij + (1-C) ×maxj aij (1.4.3)


Где C - коэффициент пессимизма.

Оптимальной по данному критерию считается стратегия, в которой значение Wi максимально: W = max Wi

При С=1 критерий Гурвица превращается в ММ-критерий. При С = 0 он превращается в критерий азартного игрока, делающего ставку на то, что «выпадет» наилучший случай.

Критерий Гурвица применяется в ситуации, когда :

. Информация о состояниях окружающей среды отсутствует или недостоверна;

. Необходимо считаться с появлением каждого состояния окружающей среды;

. Реализуется только малое количество решений;

. Допускается некоторый риск.

1.4.6 Критерий Ходжа-Лемана

Этот критерий опирается одновременно на ММ-критерий и критерий максимального математического ожидания выигрыша. При определении оптимальной стратегии по этому критерию вводится параметр достоверности информации о распределении вероятностей состояний окружающей среды, значение которого находится в интервале [0, 1].

Если степень достоверности велика, то доминирует критерий максимального математического ожидания выигрыша, в противном случае ММ-критерий

Платёжная матрица дополняется столбцом, коэффициенты которого определяются по формуле:


(1.4.4)


где u - параметр достоверности информации о вероятностях состояний окружающей среды.

Оптимальной по данному критерию считается та стратегия, в которой значение Wi максимально: W = max Wi

Данный критерий применим в следующем случае [21]:

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

. Принятое решение теоретически допускает бесконечно много реализаций;

. При малом числе реализации допускается некоторый риск.

Пример решения статистической игры

Рассмотрим пример решения статистической игры в экономической задаче.

Сельскохозяйственное предприятие производит капусту. Оно имеет возможность хранить произведённую капусту в течение всего сезона реализации - с осени до начала лета следующего года.

Хозяйство может выбрать одну из трёх стратегических программ реализации капусты в течение сезона реализации:

A1 - реализовать всю капусту осенью, непосредственно после уборки;

A2 - заложить часть капусты на хранение и реализовать её в течение осенних и зимних месяцев;

A3 - заложить всю капусту на хранение и реализовать её в весенние месяцы.

Сумма затрат на производство, хранение и реализацию капусты для хозяйства при выборе им каждой из стратегий составляет соответственно 20, 30 и 40 тыс. денежных единиц.

На региональном рынке капусты может сложиться одна из следующих трёх ситуаций:

S1 - поступление капусты на рынок происходит равномерно в течение всего сезона реализации и рынок не испытывает сезонных колебаний цен реализации продукта;

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

S3 - в осенние месяцы на рынок поступает капусты значительно больше, чем зимой и весной. Объёмы капусты, поступающей в течение сезона реализации, постоянно уменьшаются. Поэтому рынок испытывает значительные сезонные колебания цен.

Значения суммы выручки предприятия от реализации капусты при выборе каждой из стратегий реализации и формировании различных ситуаций на рынке представлены в таблице 6.

Таблица 6.

Выручка от реализации капусты, тыс. д.е.

Стратегии хозяйстваВыручка от реализации капусты, тыс. д.е.S1S2S3A1302522A2304033A3304060

В задаче необходимо определить:

. Какая стратегия хозяйства является наиболее выгодной, если известны значения вероятностей состояний рынка капусты региона: 0,3, 0,6 и 0,1 соответственно;

. Какая стратегия хозяйства является наиболее выгодной, если информация о вероятностях состояний рынка капусты отсутствует и предприятию необходимо:

а) получить минимально гарантированный выигрыш;

б) учесть значения риска от принятия различных решений;

в) определить наиболее выгодную стратегию, если коэффициент пессимизма равен 0,3;

. Определить наиболее выгодную стратегию, если информация о вероятностях состояний рынка не является вполне достоверной и параметр достоверности информации равен 0,7;

. Дать экономическую интерпретацию результатов решения задачи.

Решение

1.Составим платёжную матрицу данной игры. Её коэффициентами будут значения прибыли от производства капусты, получаемые как разница суммы выручки от реализации капусты и затрат на производство, хранение и реализацию капусты (таблица 7).


Таблица 7

Платёжная матрица задачи определения наиболее выгодной стратегии реализации капусты

S1S2S3A11052A20103A3-10020

2.Определим наиболее выгодную стратегию по критерию максимального математического ожидания выигрыша по формуле

W1 = 10×0,3 + 5×0,6 + 2×0,1 = 6,2

W2 = 0×0,3 + 10×0,6 + 3×0,1 = 6,3

W3 = -10×0,3 + 0×0,6 + 20×0,1 = -1


Таблица 8

Определение оптимальной стратегии в статистической игре по критерию максимального математического ожидания

S1S2S3WiPj0,30,60,1A110526.2A201036.3A3-10020-1

W = max Wi = W2


Оптимальной по данному критерию при указанных значениях вероятностей состояния рынка капусты будет стратегия A2 (W = 6,3)

. Определим наиболее выгодные стратегии предприятия по ММ-критерию, критерию недостаточного основания Лапласа (НО-критерий) и критерию пессимизма-оптимизма (на рисунке - ПО-критерий, таблица 9).


Таблица 9

Определение оптимальной стратегии в статистической игре по максиминному критерию, критерию недостаточного основания Лапласа и критерию пессимизма-оптимизма

S1S2S3Wi (ММ)Wi (НО)Wi (ПО)A1105225,677,6A2010304,337A3-10020-103,3311

Значения Wi для ММ-критерия найдём по формуле:


W1 = min (10, 5, 2) = 2= min (0, 10, 3) = 0= min (-10, 0 20) =-10 = max Wi = W1


Оптимальной стратегией по максиминному критерию является стратегия A1 (W = 2).

Определим оптимальную стратегию по критерию недостаточного основания Лапласа.

По данному критерию оптимальной является стратегия A1 (W = 5,67).

По критерию пессимизма-оптимизма при коэффициенте пессимизма, равном 0,3 (формула (6)) - стратегия A3 (W = 11).

. Определим наиболее выгодную стратегию по критерию минимаксного риска. Для этого рассчитаем матрицу рисков (таблица 10).


Таблица 10

Определение оптимальной стратегии в статистической игре по критерию минимаксного риска с помощью построения матрицы рисков

S1S2S3RiA1051818A21001717A320102020

Оптимальной стратегией по критерию минимаксного риска является стратегия A2 (W = 17).

. Определим наиболее выгодную стратегию пользователя по критерию Ходжа-Лемана (таблица 11).


Таблица 11

Определение оптимальной стратегии в статистической игре по критерию Ходжа-Лемана

S1S2S3WiPj0,30,60,1A110524,94A201034,41A3-10020-3,7

По критерию Ходжа-Лемана оптимальной для хозяйства будет стратегия A1 (W = 4,94).

. Проведём экономическую интерпретацию результатов решения задачи.

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

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

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

Это же стратегия является наиболее выгодной, если пользователь имеет информацию о вероятностях состояний рынка, соответствующую исходным данным, но эта информация не вполне достоверна (в случае, если информация имеет достоверность 0,7, прибыль составит 4,94 тыс. д.е.).

В случае, если информация о вероятностях состояний рынка отсутствует и риск значительных потерь не является для пользователя определяющим фактором при принятии решения, или если есть основания для оптимистической оценки ситуации на рынке капусты, при котором пользователь имеет возможность получить наибольшую прибыль от производства капусты, ему следует сохранить произведённую продукцию и реализовать её в весенние месяцы (прибыль составит соответственно 5.7 и 11 тыс. д.е.).

принятие решение оптимальный программный


2. Разработка программного приложения


.1 Программная среда разработки


Для написания данной дипломной работы использовался язык объектно-ориентированного программирования DELPHI.

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

Для написания кода используется окно кода, для конструирования программы - остальные окна Delphi, и прежде всего - окно формы [22].

Между содержимым окон формы и кода существует неразрывная связь, которая строго отслеживается Delphi.

Это означает, что размещение на форме компонента приводит к автоматическому изменению кода программы и наоборот - удаление тех или иных автоматически вставленных фрагментов кода может привести к удалению соответствующих компонентов.

С самого начала работы над новой программой Delphi создает минимально необходимый код, обеспечивающий ее нормальное функционирование в Windows.

Таким образом, простейшая программа готова сразу после выбора опции File | New | Application, и остается просто запустить программу.

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

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

При компиляции программы Delphi создает файлы с расширениями pas, dfm и оси для каждого модуля: pas-файл содержит копию текста из окна кода программы, в файле с расширением dfm хранится описание содержимого окна формы, а в оси-файле - результат преобразования в машинные инструкции текста из обоих файлов.

Файлы dcu создаются компилятором и дают необходимую базу для работы компоновщика, который преобразует их в единый загружаемый файл с расширением ехе.

По умолчанию заголовок окна совпадает с заголовком формы: Formi. Чтобы изменить заголовок, нужно обратиться к окну Инспектора объектов.

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

Слово procedure извещает компилятор о начале подпрограммы-процедуры (в Delphi могут использоваться также подпрограммы-функции; в этом случае вместо procedure (процедура) используется слово function (функция); разницу между процедурами и функциями мы обсудим позже).

За ним следует имя процедуры TFormi.ButtonlClick. Это имя - составное: оно состоит из имени класса TForm1 и собственно имени процедуры Button1Click.

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

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

Совокупность стандартных классов определяет мощные возможности этой системы программирования [23].

Каждый компонент принадлежит к строго определенному классу, а все конкретные экземпляры компонентов, вставляемые в форму, получают имя класса с добавленным числовым индексом.

По используемому в Delphi соглашению все имена классов начинаются с буквы Т. Таким образом, имя TFormi означает имя класса, созданного по образцу стандартного класса TForm. Если посмотреть начало текста в окне кода, то можно увидеть примерно следующие строки:

type= class(TForm): TButton;: TLabel;ButtonlClick(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;

Строка= class(TForm)

определяет новый класс Tform1, который порожден от (создан по образцу) стандартного класса TForm. Строка

Form1: Tform1;

создает экземпляр этого класса с именем Formi. Стандартный класс TForm описывает пустое Windows-окно, в то время как класс TFormI описывает окно с уже вставленными в него компонентами метка и кнопка. Описание этих компонентов содержат строки

Button1: TButton;

Label 1: TLabel;

Они указывают, что компонент Buttoni (Кнопка!) представляет собой экземпляр стандартного класса TButton, а компонент Label 1 (Метка 1) - экземпляр класса TLabel.

За именем процедуры TFormi. Buttoniciick в круглых скобках следует описание параметра вызова: TObject

(параметр с именем Sender принадлежит классу TObject). Процедуры могут иметь не один, а несколько параметров вызова или не иметь их вовсе.

Параметры вызова (если они есть) служат для настройки реализованного в процедуре алгоритма на выполнение конкретной работы. Параметр Sender вставлен Delphi на всякий случай: с его помощью подпрограмма Button1Click может при желании определить, какой именно компонент создал событие OnClick. Вся строка в целом procedure TFormI.Buttoniciick(Sender: TObject);

называется заголовком процедуры. Ее завершает символ ;. Этот символ играет важную роль в Object Pascal, т. к. показывает компилятору на конец предложения языка.

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

Следующие строки определяют тело процедуры:;

Слово begin (начало) сигнализирует компилятору о начале последовательности предложений, описывающих алгоритм работы процедуры, а слово end (конец) - о конце этой последовательности. Delphi лишь создала заготовку для процедуры, но она ничего не знает о том, для чего эта процедура предназначена. Наполнить тело нужными предложениями - задача программиста [24].

Каждый раз при нажатии кнопки Button1 управление будет передаваться в тело процедуры, а значит, между словами begin и end мы можем написать фрагмент программы, который будет выполняться в ответ на это событие.

Структура программ Delphi.

Любая программа в Delphi состоит из файла проекта (файл с расширением dpr) и одного или нескольких модулей (файлы с расширениями pas). Каждый из таких файлов описывает программную единицу Object Pascal.

Структура проекта

Файл проекта представляет собой программу, написанную на языке Object Pascal и предназначенную для обработки компилятором. Эта программа автоматически создается Delphi и содержит лишь несколько строк. Чтобы увидеть их, необходимо запустить Delphi и щелкнуть по опции Project | View Source главного меню. Delphi покажет окно кода с закладкой Project1, содержащее такой текст:

program Projecti;, Unit1 in 'Unit1.pas' {fmExample};

{$R *.RES}.Initialize;.CreateForm(TfmExample, fmExample);.Run;.

В окне кода жирным шрифтом выделяются так называемые зарезервированные слова, а курсивом - комментарии (так же выделяются зарезервированные слова и комментарии в книге). Текст программы начинается зарезервированным словом program и заканчивается словом end с точкой за ним.

Сочетание end со следующей за ней точкой называется терминатором программной единицы: как только в тексте программы встретится такой терминатор, компилятор прекращает анализ программы и игнорирует оставшуюся часть текста [25].

Зарезервированные слова играют важную роль в Object Pascal, придавая программе в целом свойство текста, написанного на почти естественном английском языке.

Каждое зарезервированное слово (а их в Object Pascal несколько десятков) несет в себе условное сообщение для компилятора, который анализирует текст программы так же, как читаем его и мы: слева направо и сверху вниз.

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

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

{$R *.RES}

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

Директивы начинаются символом $, который стоит сразу за открывающей фигурной скобкой.

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

{Это комментарий}

(*Это тоже комментарий*)

//Все символы до конца этой строки составляют комментарий

Слово Program со следующим за ним именем программы и точкой с запятой образуют заголовок программы. За заголовком следует раздел описаний, в котором программист (или Delphi) описывает используемые в программе идентификаторы.

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

uses, Unit1 in 'Unitl.pas' {fmExample};

указывают, что помимо файла проекта в программе должны использоваться модули Forms И Unit1. модуль Forms является стандартным (т. е. уже известным Delphi), а модуль Unit1 - новым, ранее неизвестным, и Delphi в этом случае указывает также имя файла с текстом модуля (in 'uniti.pas') и имя связанного с модулем файла описания формы {fmExample}.

Собственно тело программы начинается со слова begin (начать) и ограничивается терминатором end с точкой.

Тело состоит из нескольких операторов языка Object Pascal. В каждом операторе реализуется некоторое действие - изменение значения переменной, анализ результата вычисления, обращение к подпрограмме и т. п.

Объектом называется специальным образом оформленный фрагмент программы, заключающий в себе данные и подпрограммы для их обработки [26].

Данные называются полями объекта, а подпрограммы - его методами.

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

Разработчики Delphi придумали сотни объектов, которые можно рассматривать как кирпичики, из которых программист строит многоэтажное здание программы. Такой принцип построения программ называется объектно-ориентированным программированием (ООП).

В объекте Application собраны данные и подпрограммы, необходимые для нормального функционирования Windows-программы в целом. Delphi автоматически создает объект-программу Application для каждого нового проекта. Строка

Application.Initialize;

означает обращение к методу Initialize объекта Application. Прочитав эту строку, компилятор создаст код, который заставит процессор перейти к выполнению некоторого фрагмента программы, написанного для нас разработчиками Delphi. После выполнения этого фрагмента (программисты говорят: после выхода из подпрограммы) управление процессором перейдет к следующей строке программы, в которой вызывается метод CreateForm и т. д.

Структура модуля

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

Любой модуль имеет следующую структуру: заголовок секция интерфейсных объявлений секция реализации терминатор Заголовок открывается зарезервированным словом Unit за которым следует имя модуля и точка с запятой.

Секция интерфейсных объявлений открывается зарезервированным словом Interface, a секция реализации - словом implementation.

Терминатором модуля, как и терминатором программы, является end с точкой. Следующий фрагмент программы является синтаксически правильным вариантом модуля:Unit1;

// Секция интерфейсных объявлений

// Секция реализации.

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

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

Детали реализации объявленных процедур, функций, классов скрыты в секции реализации и недоступны другим модулям.

Если щелкнуть по закладке Unit1 окна кода, можно увидеть такой текст:

unit Unit1;, Messages, SysUtils, Classes, Graphics, Controls,, Dialogs, StdCtrls, Buttons, ExtCtrls;= class(TForm): TPanel;: TBitBtn;: TBitBtn;: TEdit;: TLabel;: TMemo;

{ Private declarations } public

{ Public declarations } end;: TfmExample;

$R *.DFM}.

Весь этот текст сформирован Delphi, но в отличие от файла проекта пользователь может его изменять, придавая программе нужную функциональность. В интерфейсной секции описан один тип (класс - fmExample) и один объект (переменная fmExample).

Вот описание класса:= class(TForm): TPanel;: TBitBtn;: TBitBtn;: TEdit;: TLabel;: TMemo;

{ Private declarations } public

{ Public declarations } end;

Классы служат основным инструментом реализации мощных возможностей Delphi.

Класс является образцом, по которому создаются объекты, и наоборот, объект - это экземпляр реализации класса. Образцы для создания элементов программы в Object Pascal называются типами, таким образом, класс TfmExamplel -это тип.

Перед его объявлением стоит зарезервированное слово type (тип), извещающее компилятор о начале раздела описания типов.

Стандартный класс TForm реализует все нужное для создания и функционирования пустого Windows-окна. Класс TfmExamplel порожден от этого класса, о чем свидетельствует строка TfmExample = class(TForm) в которой за зарезервированным словом class в скобках указывается имя родительского класса.

Термин порожден означает, что класс TfmExample унаследовал все возможности родительского класса TForm и добавил к ним собственные в виде дополнительных компонентов, которые, как вы помните, мы вставили в форму fmExample.

Перечень вставленных нами компонентов и составляет значительную часть описания класса.

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

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


2.2 Структура проекта


Файловая структура:

Project2.exe- исполняемый файл

Project2.dpr-файл проекта

Project2.res-файл ресурсов пакета

Unit2.dfm, -файл ресурсов форм

Unit2.dcu -файлы скомпилированных модулей, содержат пакет стандартных компонент, использумых модулей

Unit2.pas, -файл модулей.

Form1 - главная форма на которой расположены следующие компоненты:- поля для вывода графики;

Panel1 - на панели отображаются методы решения программы;- кнопка для расчёта;, Edit2, Edit3, Edit4 - поля для ввода информации;, Label2, Label3… Label33 - поля для вывода информации;, GroupBox2, GroupBox3, GroupBox4 - панели для отображения групп объектов;, ListBox2, ListBox3… ListBox14 - поля для отображения информации;

Процедуры:BitBtn1Click(Sender: TObject) - выполняет расчёты;Timer1Timer(Sender: TObject) - отображает время;FormCreate(Sender: TObject) - отображает путь к файлу;CheckBox1Click(Sender: TObject) - отображает элементы для вывода расчётов;CheckBox2Click(Sender: TObject) - отображает элементы для вывода расчётов;CheckBox3Click(Sender: TObject) - отображает элементы для вывода расчётов;CheckBox4Click(Sender: TObject) - отображает элементы для вывода расчётов;Unit2;

Листинг программы:TForm1.BitBtn1Click(Sender: TObject);:string;,y124,max:integer;: array[1..10,1..10] of integer;_sed: array[1..10,1..10] of integer;_ger: array[1..10,1..10] of integer;_ger2: array[1..10,1..10] of real;_mas:array[1..10] of integer;_mas_hod:array[1..10] of real;_mas_ger:array[1..10] of real;_mas:array[1..10] of integer;_mas:array[1..10] of real;_par:array[1..10] of real;_bair:array[1..10] of real;_el_stol:array[1..10] of integer;,j:integer;,n,u:string;,dl,min:integer;,c1,c:variant;,znach,znach1,param_bair,ver:real;.Clear;.Clear;.Clear;.clear;.Clear;.Clear;.Clear;.clear;14.clear;

dt:=InputBox('Размер матрицы', 'Количество исследований-3','3');

kol:=strtoint(dt);:=1;x:=1 to kol doy:=1 to kol do:=inputbox('Введите элемент:'+inttostr(j),'','');[x,y]:=Strtoint(n);:=j+1;;;

////Вывод массива:=0;:=0;:='';y:=1 to kol dox:=1 to kol do:=Length(inttostr(z[x,y]));(y123<6 ) then y124:=6-y123;:=inttostr(z[x,y]);dl:=1 to y124 do:=' '+st1;;:=st+st1;;.Items.Add(st);:='';;(Checkbox1.Checked=true) then

////Минимальные:=1;y<=kol do:=1;:=z[x,y];:= z[x,y];x<=kol domin1>z[x,y] then min1:=z[x,y];max<z[x,y] then max:=z[x,y];:=x+1;;_mas[y]:=min1;_mas[y]:=max;:=y+1;;x:=1 to kol do.Items.Add(inttostr(min_mas[x]));;.Visible:=true;:=min_mas[1];x:=1 to kol do(max<min_mas[x]) then max:=min_mas[x];;.text:=inttostr(max);x:=1 to kol do.Items.Add(inttostr(max_mas[x]));;.Visible:=true;;:=0;:=0;:='';y:=1 to kol dox:=1 to kol do:=Length(inttostr(z[x,y]));(y123<6 ) then y124:=6-y123;:=inttostr(z[x,y]);dl:=1 to y124 do:=' '+st1;;:=st+st1;;.Items.Add(st);:='';;(Checkbox1.Checked=true) then(Checkbox2.Checked=true) then:=InputBox('Критерий Гурвица', '','0,5');

Label32.Caption:=c;:=strtofloat(c);1:=1-c;

/////////Минимальный, максимальный массив

y:=1;

while y<=kol do:=1;:=z[x,y];:= z[x,y];x<=kol domin1>z[x,y] then min1:=z[x,y];max<z[x,y] then max:=z[x,y];:=x+1;;_mas[y]:=min1;_mas[y]:=max;:=y+1;;

//////////////////////////////////////x:=1 to kol do_mas[x]:=min_mas[x]*c+max_mas[x]*c1;;:= vich_mas[1];x:=1 to kol do(max2<vich_mas[x]) then max2:=vich_mas[x];;.text:=floattostr(max2);x:=1 to kol do.Items.Add(floattostr(vich_mas[x]));;;

/////////////////Байеса-Лапласа(Checkbox3.Checked=true) thenx:=1 to kol do:=inputbox('Введите параметр Байеса-Лапласа:','0.5,0.3,0.2','');_par[x]:=StrtoFloat(n);.Items.Add(n);:=j+1;;:=0;:=1;y<=kol do:=1;x<=kol do:=0;_bair:=mas_par[x];:=z[x,y]*param_bair;:=znach1+znach;:=x+1;;_bair[y]:=znach1;:=0;:=y+1;

////Вывод в Boxx:=1 to kol do.Items.Add(floattostr(mas_bair[x]));;:= vich_mas[1];x:=1 to kol do(max2<vich_mas[x]) then max2:=vich_mas[x];;.text:=floattostr(max2);x:=1 to kol do.Items.Add(floattostr(vich_mas[x]));;

end;

/////Поиск максимального значения

max2:=mas_bair[1];

for x:=1 to kol do(max2<mas_bair[x]) then max2:=mas_bair[x];;.text:=floattostr(max2);;

////Критерий Сэвиджа(Checkbox4.Checked=true) then:=1;y<=kol do:=1;:= z[y,x];x<=kol domax<z[y,x] then max:=z[y,x];:=x+1;;_el_stol[y]:=max;:=y+1;;

////////////////////////:=1;y<=kol do:=1;x<=kol do_sed[y,x]:=max_el_stol[y]-z[y,x];:=x+1;;:=y+1;;

///////////:=0;:=0;:='';:=1;y<=kol do:=1;x<=kol do:=Length(inttostr(matr_sed[x,y]));(y123<6 ) then y124:=6-y123;:=inttostr(matr_sed[x,y]);:=x+1;dl:=1 to y124 do:=' '+st1;;:=st+st1;;.Items.Add(st);:='';:=y+1;;

/////////////.Clear;x:=1 to kol do.Items.Add(inttostr( max_el_stol[x]));;

///Максимальный:=1;y<=kol do:=1;:= matr_sed[x,y];x<=kol domax<matr_sed[x,y] then max:=matr_sed[x,y];:=x+1;;_mas[y]:=max;:=y+1;;x:=1 to kol do.Items.Add(inttostr(max_mas[x]));;

////////////:=max_mas[1];x:=1 to kol do(min>max_mas[x]) then min:=max_mas[x];;.text:=inttostr(min);;;TForm1.Timer1Timer(Sender: TObject);.Panels[0].Text:=TimeToStr(Time) ;;TForm1.FormCreate(Sender: TObject);.Panels[1].Text:=Application.ExeName;;TForm1.ApplicationEvents1Exception(Sender: TObject;: Exception);:=3;;TForm1.CheckBox1Click(Sender: TObject);.BitBtn1.Enabled:=true;.Image1.Visible:=false;.Visible:=true;.Visible:=true;.Visible:=true;.Visible:=true;(Checkbox1.Checked=false) then.Visible:=false;.Visible:=false;.Visible:=false;.Visible:=false;;;.Clear;x:=1 to kol do.Items.Add(inttostr( max_el_stol[x]));;:=max_mas[1];x:=1 to kol do(min>max_mas[x]) then min:=max_mas[x];;.text:=inttostr(min);;;

///Максимальный:=1;y<=kol do:=1;:= matr_sed[x,y];x<=kol domax<matr_sed[x,y] then max:=matr_sed[x,y];:=x+1;;_mas[y]:=max;:=y+1;;x:=1 to kol do.Items.Add(inttostr(max_mas[x]));;TForm1.CheckBox2Click(Sender: TObject);.BitBtn1.Enabled:=true;.Image1.Visible:=false;.Visible:=true;.Visible:=true;.Visible:=true;.Visible:=true;(Checkbox2.Checked=false) then.Visible:=false;.Visible:=false;.Visible:=false;.Visible:=false;;;TForm1.CheckBox3Click(Sender: TObject);.BitBtn1.Enabled:=true;.Image1.Visible:=false;.Visible:=true;.Visible:=true;.Visible:=true;.Visible:=true;.Visible:=true;(Checkbox3.Checked=false) then.Visible:=false;.Visible:=false;.Visible:=false;.Visible:=false;.Visible:=false;;;.Clear;x:=1 to kol do.Items.Add(inttostr( max_el_stol[x]));;

///Максимальный:=1;y<=kol do:=1;:= matr_sed[x,y];x<=kol domax<matr_sed[x,y] then max:=matr_sed[x,y];:=x+1;;_mas[y]:=max;:=y+1;;x:=1 to kol do.Items.Add(inttostr(max_mas[x]));;TForm1.CheckBox4Click(Sender: TObject);.BitBtn1.Enabled:=true;.Image1.Visible:=false;.Visible:=true;.Visible:=true;.Visible:=true;.Visible:=true;.Visible:=true;.Visible:=true;(Checkbox4.Checked=false) then.Visible:=false;.Visible:=false;.Visible:=false;.Visible:=false;.Visible:=false;.Visible:=false;;;:=max_mas[1];x:=1 to kol do(min>max_mas[x]) then min:=max_mas[x];;.text:=inttostr(min);;

end;

end.

2.3 Описание работы с программой


При запуске *.exe файла открывается программа «Принятие решений в условиях частичной неопределенности» (см. рисунок 1).


Рисунок 1. Основная форма


На основной форме программы расположена панель, на которой можно выбрать метод произведения расчётов (рисунок 2).


Рисунок 2. Панель выбора

Чтобы решить методом «Минимаксный» надо на панели поставить галочку напротив слова «Минимаксный», далее откроется панель, на которой отобразится результат. Затем необходимо нажать кнопку Рассчитать и в открытом окне вводим данные, по которым должен проводиться расчёт (рисунок 3).


Рисунок 3. Панель ввода размера матрицы


Далее по одному вводим элементы матрицы (рисунок 4).


Рисунок 4. Ввод элементов матрицы

Рисунок 5. Вывод результата.


Аналогичные действия совершаются для проведения расчётов по другим методам (рисунки 6, 7, 8).


Рисунок 6. Расчёты по методу Гурвица

Рисунок 7. Расчёты по методу Байеса Лаплас


Рисунок 7. Расчёты по методу Сэдвиджа


3. Охрана труда и безопасность жизнедеятельности


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

Научно-технический прогресс внес серьезные изменения в условия производственной деятельности работников умственного труда. Их труд стал более интенсивным, напряженным, требующим значительных затрат умственной, эмоциональной и физической энергии. Это потребовало комплексного решения проблем эргономики, гигиены и организации труда, регламентации режимов труда и отдыха [27].

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

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

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

-организация рабочего места пользователя;

-определение оптимальных условий труда пользователя.


3.1 Описание рабочего места пользователя


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

При правильной организации рабочего места производительность труда инженера возрастает с 8 до 20 процентов.

Конструкция рабочего места и взаимное расположение всех его элементов должно соответствовать антропометрическим, физическим и психологическим требованиям. Большое значение имеет также характер работы. В частности, при организации рабочего места пользователя должны быть соблюдены следующие основные условия [28]:

.оптимальное размещение оборудования, входящего в состав рабочего места;

.достаточное рабочее пространство, позволяющее осуществлять все необходимые движения и перемещения;

.необходимо естественное и искусственное освещение для выполнения поставленных задач;

.уровень акустического шума не должен превышать допустимого значения.

Главными элементами рабочего места программиста являются письменный стол и кресло. Основным рабочим положением является положение сидя.

Рабочая поза сидя вызывает минимальное утомление пользователя.

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

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

Максимальная зона досягаемости рук - это часть моторного поля рабочего места, ограниченного дугами, описываемыми максимально вытянутыми руками при движении их в плечевом суставе.

Оптимальная зона - часть моторного поля рабочего места, ограниченного дугами, описываемыми предплечьями при движении в локтевых суставах с опорой в точке локтя и с относительно неподвижным плечом [29].

Зоны досягаемости рук в горизонтальной плоскости.

а - зона максимальной досягаемости;

б - зона досягаемости пальцев при вытянутой руке;

в - зона легкой досягаемости ладони;

г - оптимальное пространство для грубой ручной работы;

д - оптимальное пространство для тонкой ручной работы.

Рассмотрим оптимальное размещение предметов труда и документации в зонах досягаемости рук:

.Дисплей размещается в зоне а (в центре);

.Клавиатура - в зоне г/д;

.Системный блок размещается в зоне б (слева);

.Принтер находится в зоне а (справа);

.Документация

) в зоне легкой досягаемости ладони - в (слева) - литература и документация, необходимая при работе;

) в выдвижных ящиках стола - литература, неиспользуемая постоянно. [30]

При проектировании письменного стола следует учитывать следующее:

.высота стола должна быть выбрана с учетом возможности сидеть свободно, в удобной позе, при необходимости опираясь на подлокотники;

.нижняя часть стола должна быть сконструирована так, чтобы программист мог удобно сидеть, не был вынужден поджимать ноги;

.поверхность стола должна обладать свойствами, исключающими появление бликов в поле зрения пользователя;

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

Параметры рабочего места выбираются в соответствии с антропометрическими характеристиками. При использовании этих данных в расчетах следует исходить из максимальных антропометрических характеристик (М+2).

При работе в положении сидя рекомендуются следующие параметры рабочего пространства:

.ширина не менее 700 мм;

.глубина не менее 400 мм;

.высота рабочей поверхности стола над полом 700-750 мм.

Оптимальными размерами стола являются:

.высота 710 мм;

.длина стола 1300 мм;

.ширина стола 650 мм.

Поверхность для письма должна иметь не менее 40 мм в глубину и не менее 600 мм в ширину. [30]

Под рабочей поверхностью должно быть предусмотрено пространство для ног:

.высота не менее 600 мм;

.ширина не менее 500 мм;

.глубина не менее 400 мм.

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

.допускать возможность изменения положения тела, т.е. обеспечивать свободное перемещение корпуса и конечностей тела друг относительно друга;

.допускать регулирование высоты в зависимости от роста работающего человека ( в пределах от 400 до 550 мм );

.иметь слегка вогнутую поверхность,

.иметь небольшой наклон назад.

.Исходя из вышесказанного, приведем параметры стола пользователя:

.высота стола 710 мм;

.длина стола 1300 мм;

.ширина стола 650 мм;

.глубина стола 400 мм.

.Поверхность для письма:

.в глубину 40 мм;

.в ширину 600 мм.

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

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

В служебных помещениях, в которых выполняется однообразная умственная работа, требующая значительного нервного напряжения и большого сосредоточения, окраска должна быть спокойных тонов - малонасыщенные оттенки холодного зеленого или голубого цветов [31].

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


3.2 Освещенность рабочего места


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

Освещение на рабочем месте пользователя должно быть таким, чтобы работник мог без напряжения зрения выполнять свою работу. Утомляемость органов зрения зависит от ряда причин:

.недостаточность освещенности;

.чрезмерная освещенность;

.неправильное направление света.

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

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

Исходя из этого, рассчитаем параметры искусственного освещения.

Искусственное освещение выполняется посредством электрических источников света двух видов: ламп накаливания и люминесцентных ламп.

Будем использовать люминесцентные лампы, которые по сравнению с лампами накаливания имеют существенные преимущества:

.по спектральному составу света они близки к дневному, естественному освещению;

.обладают более высоким КПД (в 1.5-2 раза выше, чем КПД ламп накаливания);

.обладают повышенной светоотдачей (в 3-4 раза выше, чем у ламп накаливания);

.более длительный срок службы.

Расчет освещения производится для комнаты площадью 36 м2 , ширина которой 4.9 м, высота - 4.2 м. Воспользуемся методом светового потока.

Для определения количества светильников определим световой поток, падающий на поверхность по формуле:


, где

- рассчитываемый световой поток, Лм;

Е - нормированная минимальная освещенность, Лк (определяется по таблице). Работу программиста, в соответствии с этой таблицей, можно отнести к разряду точных работ, следовательно, минимальная освещенность будет Е = 300 Лк при газоразрядных лампах;- площадь освещаемого помещения ( в нашем случае S = 36 м2 );- отношение средней освещенности к минимальной (обычно принимается равным 1.1-1.2 , пусть Z = 1.1);

К - коэффициент запаса, учитывающий уменьшение светового потока лампы в результате загрязнения светильников в процессе эксплуатации (его значение определяется по таблице коэффициентов запаса для различных помещений и в нашем случае К = 1.5);- коэффициент использования, (выражается отношением светового потока, падающего на расчетную поверхность, к суммарному потоку всех ламп и исчисляется в долях единицы; зависит от характеристик светильника, размеров помещения, окраски стен и потолка, характеризуемых коэффициентами отражения от стен (Рс) и потолка (Рп)), значение коэффициентов Рс и Рп определим по таблице зависимостей коэффициентов отражения от характера поверхности: Рс=30%, Рп=50%. Значение n определим по таблице коэффициентов использования различных светильников. Для этого вычислим индекс помещения по формуле:


, где

- площадь помещения, S = 36 м2;- расчетная высота подвеса, h = 3.39 м;- ширина помещения, А = 4.9 м;

В - длина помещения, В = 7.35 м.

Подставив значения получим:

Зная индекс помещения I, Рс и Рп, по таблице находим n = 0.28

Подставим все значения в формулу для определения светового

потока F:

Лм

Для освещения выбираем люминесцентные лампы типа ЛБ40-1, световой поток которых F = 4320 Лк.

Рассчитаем необходимое количество ламп по формуле: , где- определяемое число ламп;- световой поток, F = 63642,857 Лм;л- световой поток лампы, Fл = 4320 Лм.

шт.

При выборе осветительных приборов используем светильники типа ОД. Каждый светильник комплектуется двумя лампами.


Содержание Введение . Применение теории игр для оптимизации принимаемых решений .1 Теория математических моделей принятия оптимальных решений .2

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ