Системное програмирование

Автор: Пользователь скрыл имя, 20 Января 2012 в 22:34, контрольная работа

Описание работы

Компьютерный эксперимент. Анализ результатов моделирования. Двойственный симплекс-метод. Содержательные и формальные модели. Содержательная классификация моделей. Прямая и двойственная задачи. Связь между решениями прямой и двойственной задачами. Этапы моделирования. Постановка задачи. Разработка модели. Жесткие и мягкие модели. Универсальность моделей. Прямая и обратная задачи математического моделирования.

Работа содержит 1 файл

ответы.docx

— 804.28 Кб (Скачать)

     4. Этап 3. Компьютерный эксперимент.

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

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

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

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

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

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

     5. Этап 4. Анализ результатов моделирования.

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

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

     Как говорит народная мудрость, на ошибках  учатся. 
 
 

Вариант 8.

Жесткие и мягкие модели. Универсальность  моделей. Прямая и обратная задачи математического  моделирования.

Жёсткие и мягкие модели

Гармонический осциллятор — пример так называемой «жёсткой» модели. Она получена в результате сильной идеализации реальной физической системы. Для решения вопроса о её применимости необходимо понять, насколько существенными являются факторы, которыми мы пренебрегли. Иными словами, нужно исследовать «мягкую» модель, получающуюся малым возмущением «жёсткой». Она может задаваться, например, следующим уравнением:

Здесь  — некоторая функция, в которой может учитываться сила трения или зависимость коэффициента жёсткости пружины от степени её растяжения,  — некоторый малый параметр. Явный вид функции f нас в данный момент не интересует. Если мы докажем, что поведение мягкой модели принципиально не отличается от поведения жёсткой (вне зависимости от явного вида возмущающих факторов, если они достаточно малы), задача сведется к исследованию жёсткой модели. В противном случае применение результатов, полученных при изучении жёсткой модели, потребует дополнительных исследований. Например, решением уравнения гармонического осциллятора являются функции вида , то есть колебания с постоянной амплитудой. Следует ли из этого, что реальный осциллятор будет бесконечно долго колебаться с постоянной амплитудой? Нет, поскольку рассматривая систему со сколь угодно малым трением (всегда присутствующим в реальной системе), мы получим затухающие колебания. Поведение системы качественно изменилось.

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

Универсальность моделей

Важнейшие математические модели обычно обладают важным свойством универсальности: принципиально разные реальные явления могут описываться одной и той же математической моделью. Скажем, гармонический осциллятор описывает не только поведение груза на пружине, но и другие колебательные процессы, зачастую имеющие совершенно иную природу: малые колебания маятника, колебания уровня жидкости в U-образном сосуде или изменение силы тока в колебательном контуре. Таким образом, изучая одну математическую модель, мы изучаем сразу целый класс описываемых ею явлений. Именно этот изоморфизм законов, выражаемых математическими моделями в различных сегментах научного знания, подвиг Людвига фон Берталанфи на создание «Общей теории систем».

Прямая  и обратная задачи математического  моделирования

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

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

Прямая  задача: структура модели и все её параметры считаются известными, главная задача — провести исследование модели для извлечения полезного знания об объекте. Какую статическую нагрузку выдержит мост? Как он будет реагировать на динамическую нагрузку (например, на марш роты солдат, или на прохождение поезда ни различной скорости), как самолёт преодолеет звуковой барьер, не развалится ли он от флаттера, — вот типичные примеры прямой задачи. Постановка правильной прямой задачи (задание правильного вопроса) требует специального мастерства. Если не заданы правильные вопросы, то мост может обрушиться, даже если была построена хорошая модель для его поведения. Так, в 1879 г. в Англии обрушился металлический мост через реку Тей, конструкторы которого построили модель моста, рассчитали его на 20-кратный запас прочности на действие полезной нагрузки, но забыли о постоянно дующих в тех местах ветрах. И через полтора года он рухнул.

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

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

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

Вариант 9.

Симплекс-метод  решения задачи линейного программирования.

Симплекс-метод

 

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

  Переменные, соответствующие базисным векторам называются базисными, а остальные  – небазисные (свободные).

  Частное решение, в котором все небазисные переменные равны нулю, называется базисным решением системы. При нем  F=0.

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

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

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

Пусть требуется  найти максимальное значение функции  (1)

при условиях

(2)

(j = 1,n)

  Здесь , и (i=1,m; j = 1,n) —заданные постоянные числа (m < n и bi>0).

  Векторная форма данной задачи имеет следующий  вид: найти максимум функции

(3)

при условиях

(4)

(j = 1,n)  (5)

где  

;  …;  ; ;  …;  ; .

Так как

.

то по определению опорного плана X = (b1; b2;...; bm ; 0; ...; 0) является опорным планом данной задачи (последние п—т компонент вектора X равны нулю). Этот план определяется системой единичных векторов Р1, Р2,..., Рm, которые образуют базис m - мерного пространства. Поэтому каждый из векторов Р1, Р2,..., Рn, а также вектор Р0 могут быть представлены и виде линейной комбинации векторов данного базиса. Пусть

,  (j = 0,n).

Положим , (j = 1,n); , (j = 1,n). Так как Р1, Р2,..., Рmединичные, то и , а

  Теорема 1.(признак оптимальности опорного плана). Опорный план X*= (x1*; x2*; ...; xm*; 0; 0; .,.; 0) задачи (3) —(5) является оптимальным, если для любого j(j = 1,n).

  Теорема 2. Если для некоторого j = k и среди чисел , (i = 1,m) нет положительных ( £ 0), то целевая функция (3) задачи (3) —(5) не ограничена на множестве ее планов.

  Теорема 3. Если опорный план X задачи (3) — (5) не вырожден и , но среди чисел есть положительные (не все £ 0), то существует опорный план X' такой, что F (X'')> F(X).

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

Информация о работе Системное програмирование