Алгоритмизация – это, позвольте вам доложить, процесс. Не набор приемов и методик и не вычислительные программы, полученные в результате процесса, а именно процесс. Конечно, вы встретите не мало разных и очень авторитетных определений относительно алгоритмизации, и я не настаиваю на том, что мое определение именно то, которое вам лично подойдет. Но это уже известная проблема ноги и хвоста: если ногу назвать хвостом, то что это будет – нога или хвост? Если ногу долго и упорно называть хвостом, то этот термин наполнится новым и специфическим содержанием. И возникнет несколько его разных толкований. Пройдет время, и вот кто-то взмолится через интернет: так что же такое этот хвост? И кто-то очень авторитетный ответит, что хвост – это нижняя конечность человека, приспособленная для езды на велосипеде.
Применительно к моей деятельности и, как полагаю, многих моих коллег, алгоритмизация – это процесс преобразования имеющейся исходной информации в алгоритмический вид, например в компьютерную вычислительную программу. Я использую при этом какой-то ранее наработанный инструментарий, например приемы аппроксимации, помогающие в алгоритмизации, но никогда не скажу, что этот инструментарий и есть собственно алгоритмизация. Что касается использования разработанных вычислительных программ, то это, в моем понимании, тоже не алгоритмизации, а эксплуатация (использование) разработанных в процессе алгоритмизации вычислительных программ.
Но это все, так сказать, к слову. Алгоритмизация – это очень широкая тема. В ней десятки, сотни или тысячи нюансов. Моя тема очень узкая – алгоритмизация расчетов ТЭП (технико-экономических показателей), имеющая в тоже время очень широкое значение в области эксплуатации ТЭС.
С чего начинается процесс алгоритмизации. Лично я старался как бы забыть все, что знал, и посмотреть на ситуацию непредвзятым взглядом. А ситуация на наших ТЭС весьма разнообразна. Постепенно выявляются какие-то ключевые моменты: наличие/отсутствие необходимой документации, местные особенности эксплуатации, мнения и пожелания эксплуатационного персонала, ну и прочее, что выявляется в каждой конкретной обстановке.
Почему я позволил себе так много общих слов? Да потому что в этом разделе на первом листе файла ALGORITM.XLS уже есть по обсуждаемой теме статья: "Алгоритмизация – как это выглядит?". Достаточно понятная, на мой взгляд, статья и с иллюстрациями фрагментов, разработанных в Excel.
Базовой информацией для алгоритмизации являются так называемые энергетические характеристики котлов и турбин, полученные в результате специально проведенных испытаний. Эти характеристики строятся при так называемых исходно-номинальных параметрах работы оборудования: например при температуре питательной воды после ПВД, равной 245 оС. Строят эти базовые характеристики технологи, т.е. котельщики и турбинисты, в виде графиков и таблиц. Примеры графиков вы можете найти в достаточном количестве в этом разделе в файле Albom.xls. А первое, что делает алгоритмист в практическом плане, - это преобразует графики и таблицы в аппроксимирующие их формулы. Ну и еще можно применить интерполяцию, однако не будем распылять свое внимание на всякого рода оговорки.
Помимо базовых характеристик, алгоритмист записывает или заводит на компьютер десятки разного рода поправок к базовым характеристикам на отклонение фактических значений параметров от исходно номинальных. Часть поправок устанавливается в процессе испытаний, а часть, и пожалуй большая их часть, определяется расчетом на основе специальных нормативных методик. В комплексе, это позволяет вычислить нормативные значения ТЭП котлов и турбин при фактических параметрах их работы.
Но кроме названного основного оборудования (котлов и турбин) есть еще вспомогательное оборудование, есть собственные нужды котлов и турбин и в целом ТЭС, есть отпуски электроэнергии и тепла и потери, связанные с отпуском, а также потери в процессе производства электроэнергии и тепла. Все это регламентируется для конкретной ТЭС в виде графиков и таблиц, которые алгоритмист преобразует в аппроксимации, и, кроме того, регламентируется в виде разного рода формул, указанных в специальных регламентирующих документах.
Как все это свести к расчету ТЭП? Для этого существуют специальные методики, на основе которых специалисты по топливоиспользованию разрабатывают так называемый макет. Обычно макет разрабатывается специализированной сторонней организацией, а реже – персоналом ТЭС. Макет – это своего рода табличный алгоритм, а точнее – порядок действий, которые должен осуществить человек для вычисления ТЭП. В форму макета вводятся исходные данные для расчета ТЭП, вводятся формулы, графики, таблицы, поправки, по которым технолог выполняет ручной расчет. В результате технолог группы топливоиспользования получает нормативные значения ТЭП и сравнивает их с фактическими технико-экономическими показателями работы ТЭС.
Казалось бы, алгоритмисту, после того как он заменил графики и таблицы макета на аппроксимирующие формулы, и дел больше нет, кроме как шаг за шагом воспроизвести уже готовый макет. Но на деле все гораздо сложнее. Потому что компьютер не делает каких-то "интуитивно понятных" действий, которые не указаны в макете, но которые делает технолог. Не оценивает какие-то "мелочевки" на глаз и не считывает недостающие данные с потолка. И много чего еще подобного рода не делает компьютер.
Чтобы восполнить почти неизбежные "проколы" макета, технолог составляет для алгоритмиста контрольный пример полного расчета ТЭП для некоторой конкретной ситуации. А алгоритмисту, если он профессионал, приходится корректировать (выправлять, дополнять) макет, сверять расчеты с контрольным примером и еще учитывать кучу разных нюансов в работе оборудования, которые технолог "опускает", хотя и учитывает их в процессе эксплуатации оборудования интуитивно или "по обстановке".
Ну, примерно так, а детали могут различаться. Я, например, сразу делал макет в виде программы, выполняющей вычисления на листе (вернее, на нескольких листах) Excel. В результате создавалась так называемая программа Норматив, пример которой приведен в файле ALGORITM.XLS. Примерно по такой же схеме разрабатывается и считает программа Пережог. Она, помимо нормативного значения расхода топлива, показывает: из-за каких отклонений режима произошли перерасходы топлива и в каких количествах.
Программы Норматив и Пережог надо еще правильно "накормить" исходной информацией. А с достоверностью исходной информации на наших ТЭС – ой, какие проблемы! Тут может прийти на помощь программа Факт. Она тоже во многом подобна программе Норматив, однако программа Факт сначала анализирует исходную информацию, производит уточнения, пересчеты, корректировки, после чего передает обработанную информацию в качестве исходных данных для фрагментов типа Норматив и Пережог.
Но с этими программами мытарства эксплуатационников не заканчиваются. Надо, помимо текущих расчетов показателей, предусматривать предстоящие расходы топливо на следующий месяц и даже на следующий год, да и еще планировать будущие показатели ТЭП. Для этих целей может служить программа Прогноз. Принцип ее работы во много подобен программе Норматив, но исходных данных для программы Прогноз в натуре нет – их надо предусмотреть. Например, на удельный расход топлива влияют температуры воздуха и охлаждающей конденсатор воды. Здесь программа Прогноз может учитывать значения температур за аналогичные периоды работы оборудования предыдущих лет.
Программа Оптимизация – это уже иной подход. В основном он сводится к перераспределению электрических нагрузок турбин и к перераспределению тепловых нагрузок котлов данной ТЭС. Базой для выполнения оптимизации служат энергетические характеристики конкретных котлов и конкретных турбин данной ТЭС, представленные в виде аппроксимаций. Например, дается диспетчерское задание обеспечить на завтра такой-то отпуск электроэнергии и тепла. Программа Оптимизация в этом случае подбирает нагрузки для конкретных турбин, не меняя заданную общую нагрузку ТЭС. Одновременно рассчитывает тепловое потребление и с учетом его программа подбирает оптимальное распределение нагрузки котлов.
Из приведенных примеров, на "чистую" алгоритмизацию более всего походит пример с разработкой программы Норматив. В разработке прочих программ, особенно программы Оптимизация, в изрядной мере присутствуют элементы изобретательства. Так что мне не удалось четко выдержать заявленную выше линию: алгоритмизация – это процесс преобразования имеющейся исходной информации в ее алгоритмический вид. Потому что изобретательство – это ведь и получение новой информации, которая не была изначально исходной. Однако позвольте, разве вы и в самом деле решили, читая мою статью, что алгоритмизацию можно осуществить, вовсе ничего не изобретая? Нет? И я этого не имел в виду. Как не имел в виду того, что алгоритмизацию можно реализовать без получения каких-то недостающих, дополнительных данных, например уточнения характеристик какого-то котла, насосов, потерь. И т.д., и т.п. А там еще разные согласования оплаты, условий проживания в командировке и прочее подобного и разного рода. Так вот, я хочу сказать, что алгоритмизация – это алгоритмизация, а обеспечение ее успешности – это еще много разных условий и действий, не являющихся собственно алгоритмизацией.
Если вы со мной согласны, то на этом я и заканчиваю свою статью.
15.05.2013 г. Протасов Н.Г.
P.S. Я дал здесь определение алгоритмизации в рамках, согласующихся именно с материалами данного раздела. Это не означает, что в природе, вернее в научно-техническом обществе, не существует иных толкований термина. Если Вы, посетитель, скажем студент, то Вам мое определение может и не подойти. Потому что преподаватель может с ним не согласиться, а преподаватель не может быть не прав по определению. Так что будьте аккуратны с использованием определений.