Главная > Математика > Вычислительные методы для инженеров
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

§ 1.2. Основные этапы решения инженерной задачи с применением ЭВМ

Решение серьезной инженерной задачи с использованием ЭВМ - довольно длительный и сложный процесс. С определенной степенью условности его можно разбить на ряд последовательных этапов. Выделим следующие этапы: 1) постановка проблемы; 2) выбор или построение математической модели; 3) постановка вычислительной задачи; 4) предварительный (предмашинный) анализ свойств вычислительной задачи; 5) выбор или построение численного метода; 6) алгоритмизация и программирование; 7) отладка программы; 8) счет по программе; 9) обработка и интерпретация результатов; 10) использование результатов и коррекция математической модели.

1. Постановка проблемы.

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

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

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

2. Выбор или построение математической модели.

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

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

3. Постановка вычислительной задачи.

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

4. Предварительный анализ свойств вычислительной задачи.

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

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

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

5. Выбор или построение численного метода.

Для решения вычислительной задачи на ЭВМ требуется использование численных методов.

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

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

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

6. Алгоритмизация и программирование.

Как правило, выбранный

на предыдущем этапе численный метод содержит только принципиальную схему решения задачи, не включающую многие детали, без которых невозможна реализация метода на ЭВМ. Необходима подробная детализация всех этапов вычислений, для того чтобы получить реализуемый на ЭВМ алгоритм. Составление программы сводится к переводу этого алгоритма на выбранный язык программирования. Заметим, что в настоящее время для вычислительных задач наиболее широко используется алгоритмический язык ФОРТРАН.

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

7. Отладка программы.

На этом этапе с помощью ЭВМ выявляют и исправляют ошибки в программе.

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

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

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

Основные вопросы методики отладки программ можно найти, например, в [10].

8. Счет по программе.

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

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

9. Обработка и интерпретация результатов.

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

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

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

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

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

10. Использование результатов и коррекция математической модели.

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

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

<< Предыдущий параграф Следующий параграф >>
Оглавление