Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
32
Добавлен:
19.04.2013
Размер:
603.14 Кб
Скачать
    1. 5.2.Автоматизация проектирования с помощью макетирования.

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

...... .... ......... ......... .......... ..........

Схема разработки проекта схожа со схемой обратной трассировки:

  1. определить выходные результаты,

  2. определить входные данные,

  3. разработать процессы преобразования входных данных в выходные.

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

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

Как правило, при разработкå новых технологий существует готовая ИКС, часть функций которой уже реализована. В этом случае макет служит формализованным техническим заданием и позволяет лучшеå понимаíèе процессà разработки.

Существуþт три стадии разработки систем: система считается рабочим проектом, когда написаны все программы; техническим проектом — на все программы готовы алгоритмы; а система меню с экранами “не реализовано” — это эскиз-проект. С помощью макетирования можно проектировать ИКС любого уровня сложности, а табличный процессор можно превратить в решающую среду с параллельными вычислениями.

  1. Общие схемы решения задач.

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

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

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

На основе идеи последовательного сжатия родился метод последовательного анализа и отсеивания вариантов.

Пример: А — это свойство элементов множества А. Для элементов множества А свойство В необходимо, то есть если АВ, все элементы множества А удовлетворяют свойству В. Свойство А — это достаточное свойство для вхождения множества А в множество В.

    1. 1.Èтеративная схема.

Большинство задач в экономике носят оптимизационный характер (òеория оптимизации — это наука улучшать). Если задано множество решений Õ, обладающее некоторым свойством à, и некоторый критерий оптимизации (в простейшем случае - аналитическая функция F(õ), экстремум которой необходимо найти), òо задача оптимизации может быть сформулирована следующим образом: необходимо найти х*Х такоå, что F(х*)F(х) или F(х*)=max(F(х)).

Обычно õ представляет собой вектор {õ1,...,õn}, элементы которого - это набор свойств (как правило, экономико-производственных), характеризующих элемент х как экономический объект. F(х) — некоторая аналитическая функция, называемая производственной, характеризующая систему как “черный ящик”. Производственная функция чаще всего получается в результате статистического анализа поведения системû.

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

....

..... ...... ..... ...

.... .... .... ..... ...

. . . ... . . . .. .. .. ..

. ..... . . . ..... . . .

. . .. . .... ...... .. .

... . . . . . . . ..... .

... . . . . . . .

.. ..

Иногда для нанесения полученных значений на график используют специальные шкалы: логарифмическую, полулогарифмическую и т. п. В простейшем случае имеет место линейнàÿ зависимость со случайными отклонениями. Аналитическое уравнение прямой имеет вид F(х)=х + .

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

1. Метод Гаусса.

Сущностью данного метода является минимизация среднеквадратическоãî отклонениÿ (â физике такая форма используется для анализа энергии), которое имеет вид F(,)=(х i + - f(xi))2 , где f(xi) — действительные эмпирические значения. Поскольку экстремум гладких функций многих переменных достигается при равенстве нулю их частных производных,

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

2. Минимизация максимального отклонения.

Минимизация максимального отклонения сводится к помещению исходноãî множествà точек в полосу минимальной ширины, середина которой и будет исходной прямой. Основой для построения этой полосы будут служить 3 (иногда 4) точки: две точки - на одной стороне области и одна на другой.

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

  • не надо искать программу решающую задачу, а нужна программа, помогающая ðешить задачу. Это называется компьютерной поддержкой решений (ÊÏÐ). В данном случае КПР — это проведение прямой через две точки и параллельнîé ей прямîé через третью точку. Все точки задаются пользователем, им же производится оценка ширины полученной полосы и сравнение альтернативных вариантов. После выбора наилучшего из них программа проведет линию, проходящую через середину этой полосы.

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

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

; ;;

Пусть для F(x) есть — частное направление по осиОx i. Если , то при увеличенииx i возрастет и F(x), то есть при увеличении ресурса возрастает значение целевîé функциè. - эластичность по ресурсу, показываþùàÿ, на сколько увеличится/уменьшится функция, при увеличении/уменьшении ресурса на 1%.

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

òî åñòü ïосле нахождения этого направления необходимо двинутüся по градиенту в сторону максимального увеличения функции с некоторым шагом . Этот процесс повторяется, причем на каждом шаге возможны два варианта:

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

  2. пересчитать градиент и двинуться в новом направлении.

При этом следует учесть, что вычисление производных - достаточно трудоемкое занятие, поэтому на практике чаще пользуются первым способом, двигаясь с шагом  в выбранном направлении äî òåõ ïîð, пока функция продолжает расти.

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

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

, ãäå

a,b,c,d - границы области решений, õ,ó - координаты искомой точки, - случайные величины, равномерно распределенные на интервале[0;1].

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

При использовании метода трапеций отрезок разбивается на n частей и требует такого же количества вычислений. Метод Монте-Карло позволяет вычислить интеграл с той же точностью, проведя всего вычислений.Для этого следующим образом проводятся испытания: описанным выше методом находится точка со случайными координатами (õ,ó) и по критерию F(x)<(>,=)y определяется, попадает ли эта точка в область под или над графиком. Отмечается число всех испытаний N и число попаданий n1, тогда — площадь данной фигуры.

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

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

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

Оператор @rand (физический датчик случайных чисел) выдает последовательность цифр, вероятность появления каждой из которых равна 0,1. Следовательно, с его помощью можно получить последовательность чисел, равномерно распределенных на интервале [0,1] (или любом другом): R = @rand = 384067... -> 0,3824 (вероятность повтора = 0,0001) Особенностью равномерного распределения является зависимость вероятности попадания числа в заданный интервал от длины этого интервала и независимость от его расположения на числовой оси.

До изобретения оператора @rand использовались последовательности квазислучайных чисел. Для их получения брали любое стартовое число (например, 4567), затем его возводили в квадрат (20857489) и в качестве следующего псевдослучайного числа использовали средние цифры полученного значения (8574). Недостатком данного метода является то, что любая квазислучайная последовательность имеет свою длину и при получении числа, равного начальному, повторяется. Использование псевдослучайных генераторов целесообразно в тех случаях, когда требуется повторить последовательность чисел (для этого всего лишь необходимо взять то же стартовое число), что при использовании @rand практически невозможно.

Физический датчик случайных чисел можно использовать для получения чисел с любым законом распределения. Пусть даны величины a1, ... , аn. Необходимо построить датчик, выдающий их с вероятностями р1, ..., рn , сумма которых равна 1, соответственно. Для получения одного числа необходимо выделить на числовой оси интервалы [0,p1], [p1,p1+p2]..., с помощью оператора @rand получить случайное число, принадлежащее интервалу [0,1] и определить в какой из выделенных выøе интервалов оно попадает. При попадании числа в интервал , искомым числом будетаk.

Соседние файлы в папке 2