Разработка алгоритма и его программной реализациидля пэвм для анализа системы
После составления математической модели теплотехнической системы можно переходить к параметрической оптимизации. Эта процедура базируются на выполнении трех взаимосвязанных операций: выбор допустимых сочетаний значений параметров `x; - реализация математической модели на ЭВМ; - расчет функции цели. При неизменной технологической схеме системы решение этих задач, как правило, не вызывает особых сложностей. Серьезные трудности возникают, если в ходе анализа необходимо менять ее структуру, т.е. при реализации структурной оптимизации. В этом случае надо перестраивать математическую модель. изменение вида технологической схемы системы влечет изменение в общем случае числа элементов и соответственно количества связей, а, следовательно, происходят изменения в математической модели. Наиболее удобно такую перестройку математической модели делать, пользуясь матрицей соединений и матрицей функциональных связей параметров. В этом случае появляется возможность запрограммировать логические операции перестройки вида технологической схемы установки, т.е. можно автоматизировать изменения вида схемы в процессе моделирования. Методика реализации математической модели теплотехнической системы на ЭВМ базируется на: методах решения системы балансовых уравнений; приемах поиска наилучшей последовательности расчета элементов; методах определения исходного допустимого решения и методах аппроксимации сложных исходных зависимостей. Алгоритм данной программы представлен в графической части проекта.
Определенной сложностью является представление теплофизических свойств (в данном случае только энтальпии) рабочих тел и теплоносителей. Разработанный алгоритм расчета и оптимизации технологической схемы представляется в виде укрупненной блок-схемы и программы для ПЭВМ. В тексте программы приводятся внутренняя документация с необходимыми комментариями, описывающими основные шаги алгоритма. С помощью разработанной программы выполняется численный эксперимент. К сожалению, в силу нелинейности ограничений нельзя применить эффективные алгоритмы линейного программирования. Поэтому мы ограничимся лишь построением приближённого численного алгоритма. Мы выделяем свободные переменные: G0, G1, G3, G4, G7; h0, h1, h5, h6. Все остальные параметры являются зависимыми и вычисляются на основе значений свободных по формулам, приведенным выше (3.26 - 3.35).Заметим, что две последние формулы, хотя и не выражаются явно через свободные переменные, в правой части содержат переменные, которые получены из предыдущих формул. Поскольку количество свободных переменных равно 9, что довольно много для оптимизации по всем переменным, мы фиксируем все свободные переменные за исключением одной, например G1. И будем проводить оптимизацию только по одной переменной. Суть алгоритма заключается в следующем. Мы выбираем границы изменения нашей выбранной свободной переменной и заставляем её пробегать конечное множество значение из этого интервала с некоторым шагом. Для каждого такого значения мы вычисляем значение КПД системы и проверяем, выполняются ли ограничения на минимальное и максимально значения для G и h. Из всех значений G и h, для которых выполняются ограничения задачи, мы выбираем те, на которых достигается максимум КПД всей системы. Если же для всех значений выбранного свободного параметра ограничения не выполняется, то при данном выборе ограничений, свободного параметра и интервала его изменения решений нет. Заметим, что выбор пользователем изменяемого свободного параметра, границ его значений, а также значений фиксированных свободных переменных таким образом, чтобы задача имела решение, является "узким местом" алгоритма и, вообще говоря, представляет сложную задачу. Результаты эксперимента представляются в удобном для анализа графическом виде. Программа, разработанная на алгоритмическом языке C++, приведена ниже. #include<iostream.h> #include<fstream.h> #include<string.h> #include<math.h> #include<assert.h> #define IS_ZERO(Arg) (fabs(Arg)<0.000001) |