Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных исследований в электроэнергетике. Учебное пособие
.pdf
или проекции окрестностей экстремумом функций
П
min
Э, max
П
, xxfy
на плос-
jj
21
кость осей
x и 2x .
1
2. Если два критерия эффективности имеют разные цели, то есть
один должен быть минимальным, а другой максимальным, то их можно
свести к одному критерию эффективности. Например, необходимо найти
значения факторов x, обеспечивающих минимальные энергозатраты процесса за смену Э и максимальную эксплуатационную производительность
оборудования П. В этом случае целесообразно принять критерий эффективности равный отношению энергозатрат к эксплуатационной производительности – удельные энергозатраты (отнесённые к единице объёма выполненной работы)
Э
У
Э
Э
У
Так как
min
.
, то их отношение min
Э .
У
3. Если все критерии эффективности имеют одну цель, то есть стремятся либо к максимуму, либо к минимуму, то данные критерии эффективности можно свести к обобщённому критерию эффективности, который
обозначим Y
m
j
m
jj
11
j
pxfpyY
jj
maxmin
, (2.14)
где
y – j-ый критерий эффективности;
j
p – весовой коэффициент или вес j-го критерия эффективности;
j
m – количество критериев эффективности.
Целевая функция (2.14) представляет собой сумму целевых функций
отдельных критериев эффективности, умноженных на весовые коэффициенты. Таким образом, многокритериальная оптимизация сводится к однокритериальной.
Весовой коэффициент (вес) конкретного критерия эффективности
определяет его значимость для рассматриваемого объекта оптимизации.
Весовые коэффициенты можно задать исходя из особенностей объекта оптимизации, или определить, например, методом экспертных оценок. Для
весовых коэффициентов должно обязательно выполняться условие
.
11
p
j
mj
2.6.3. Математическое программирование
Теорию и методы оптимизации изучает специальная область математики – математическое программирование. Различают следующие виды
математического программирования:
- линейное программирование (целевая функция и ограничения – ли-
нейные);
51

- нелинейное программирование (целевая функция – нелинейная
и/или ограничения содержат нелинейные функции, факторы образуют
подмножество конечномерного векторного пространства), нелинейное
программирование подразделяется на два вида: выпуклое программирование (целевая функция и допустимое множество – выпуклые) и целочисленное программирование (факторы являются целыми числами);
- дискретное программирование или комбинаторная оптимизация
(факторы конечны, решение ищется только в дискретных целочисленных
точках подмножества факторов);
- квадратичное программирование (целевая функция квадратичная и
выпуклая, допустимое множество определяется линейными равенствами и
неравенствами);
- параметрическое программирование (коэффициенты целевой
функции и/или значения ограничений являются функциями, зависящими
от некоторых параметров);
- динамическое программирование (сложные задачи решаются путём
разбиения на более простые подзадачи);
- стохастическое программирование (входная информация имеет неопределённость).
Каждый вид математического программирования имеет свои методы. Методы оптимизации можно разделить на два класса: аналитические и
численные. Численные методы имеют более широкий круг решаемых задач и получили развитие благодаря широкому использованию компьютеров. Численные методы выпуклого программирования включают: прямые
методы, методы первого и второго порядков. Существует программное
обеспечение, позволяющее выполнять оптимизацию, для решения оптимизационных задач могут быть применены такие программы, как Mathcad,
MatLab, Microsoft Excel.
Из аналитических методов оптимизации широко известен классиче-
ский метод дифференциального исчисления. Его суть следующая.
Находят частные производные целевой функции
xxxfy ...,,,
и
21
n
приравнивают их к нулю, в результате получается система алгебраических
уравнений
y
x
y
01
; 0
x
2
; …; 0
y
.
x
n
Для решения систем линейных алгебраических уравнений могут
быть использованы методы:
- Гаусса;
- Ричардсона;
- итераций.
В программе Mathcad можно выполнить решение системы, вклю-
чающей до 50 линейных алгебраических уравнений.
52

Решение систем нелинейных алгебраических уравнений осуществля-
ется градиентными методами, методом Ньютона.
Для решения систем алгебраических уравнений на компьютере могут
быть применены программные продукты: UMFPACK; SuperLU; TAUCS;
PETSc; LASPACK; TAUCS; Aztec.
Равенство всех производных частного порядка нулю является необходимым, но не достаточным условием экстремума, а поэтому необходимо
вычислить значения целевой функции при значениях факторов, полученных в результате решения системы, и при значениях близких к ним, то
есть для i-го фактора
точках:
x , hxi
i
, hx
x необходимо вычислить целевую функцию в трёх
1
, где h – шаг приращения фактора. Условие экс-
i
тремума – минимальное или максимальное значение целевой функции при
xfy по сравнению со значениями
hxfy
.
При двухмерной оптимизации следует вычислить целевую функцию
, xxfy
при следующих сочетаниях факторов:
21
, xx ;
21
21, xhx ;
Если значение y, вычисленное при факторах
ных четырёх, то в точке
21, xhx ;
, ;
hxx
21
, .
21
, xx , меньше осталь-
, xx целевая функция имеет экстремум.
21
hxx
21
Данный метод имеет ограниченность применения по следующим
причинам: целевая функция должна быть непрерывной и дифференцируемой, не всегда есть возможность решения системы уравнений, после нахождения оптимальных значений необходимо дополнительно проверить
условие экстремума.
2.7. Алгоритмы
Реализация математических методов и исследование математических
моделей объектов осуществляются по соответствующим алгоритмам.
Алгоритм – система точно сформулированных правил получения
требуемого результата (выходной информации) с помощью входных данных; последовательность действий (шагов), приводящих к решению задачи. В алгоритме с помощью расчетных формул, логических условий, контроля над достоверностью результатов и других средств отражаются логика и способ решения задачи. Алгоритм не содержит ошибок, если он даёт
правильные результаты для любых допустимых исходных данных; алгоритм содержит ошибки, если приводит к получению неправильных результатов, либо не даёт результатов.
Следует подчеркнуть принципиальную разницу между алгоритмами
вычислительного характера, преобразующими некоторые входные данные
в выходные, и управляющими алгоритмами, называемыми ещё алгоритмами логического управления. Последние предназначены для взаимодейст-
53

вия с некоторым объектом управления и призваны обеспечить корректную
выдачу управляющих воздействий в зависимости от складывающейся ситуации, отражаемой поступающими от объекта управления сигналами. В
некоторых случаях алгоритм управления вообще не предусматривает
окончания работы (например, поддерживает бесконечный цикл ожидания
событий, на которые выдается соответствующая реакция), несмотря на это,
являясь полностью правильным.
Формы представления алгоритмов:
- словесная, формульно-словесная, вербальная;
- схематическая (блок-схемы, структурограммы);
- псевдокод (формальные языки программирования).
Порядок решения линейных ОДУ при помощи преобразований Лапласа, приведённый в пункте 2.5.3 – формульно-словесная форма представления алгоритма. Программа численного решения ОДУ, представленная в
пункте 2.5.5 – псевдокод.
К алгоритмам предъявляется ряд следующих требований.
1. Дискретность – алгоритм должен представлять процесс решения
задачи как последовательное выполнение некоторых простых шагов. При
этом для выполнения каждого шага алгоритма требуется конечный отрезок
времени, то есть преобразование исходных данных в результат осуществляется во времени дискретно.
2. Детерминированность (определённость) – в каждый момент времени, следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм выдаёт один и тот же результат (ответ) для
одних и тех же исходных данных. В современной трактовке у разных реализаций одного и того же алгоритма должен быть изоморфный граф. С
другой стороны, существуют вероятностные алгоритмы, в которых следующий шаг работы зависит от текущего состояния системы и генерируемого случайного числа. Однако при включении метода генерации случайных чисел в список «исходных данных» вероятностный алгоритм становится подвидом обычного.
3. Понятность – алгоритм должен включать только те команды, которые доступны исполнителю и входят в его систему команд.
4. Завершаемость (конечность) – при корректно заданных исходных
данных алгоритм должен завершать работу и выдавать результат за конечное число шагов.
5. Массовость (универсальность) – алгоритм должен быть применим
к разным наборам исходных данных.
6. Результативность – завершение алгоритма определёнными результатами.
Можно выделить следующие виды алгоритмов:
- механические, детерминированные или жёсткие (например, алгоритм работы машины), они задают определённые действия, обозначая их в
54

единственной и достоверной последовательности, обеспечивая тем самым
однозначный требуемый или искомый результат, если выполняются те условия процесса, задачи, для которых разработан алгоритм;
- гибкие, к которым относятся стохастические (вероятностные) и эвристические; стохастический алгоритм даёт решение задачи несколькими
путями или способами, приводящими к вероятному достижению результата; эвристический алгоритм использует различные разумные соображения
без строгих обоснований;
- линейные, представляют собой наборы команд (указаний), выполняемых последовательно во времени друг за другом;
- разветвляющиеся, содержащие хотя бы одно условие, в результате
проверки которого может осуществляться разделение на несколько параллельных ветвей алгоритма;
- циклические, предусматривающие многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными
данными; к циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов; цикл – последовательность команд (серия),
которая может выполняться многократно до удовлетворения некоторого
условия;
- вспомогательные (подчинённые) – заранее разрабатываемые и целиком используемые при разработке алгоритмов решения конкретных задач.
2.8. Технические и программные средства поддержки теоретиче-
ских исследований
2.8.1. Компьютеры
В современных условиях теоретические исследования выполняются
с использованием компьютеров: персональных (настольных и портативных), серверов и суперкомпьютеров.
Компьютер – программируемый цифровой обработчик информации,
представляющий собой совокупность различных устройств, объединенных
в единую систему, реализующий все основные информационные процессы. Компьютер – программно-управляемое устройство для функционирования, которого помимо технических (аппаратных) средств необходимо
располагать программным обеспечением – совокупностью программ,
обеспечивающих работу компьютера и выполнение им заданных функций.
Так как компьютеры изначально создавались для выполнения вычислений
(computer – вычислитель), то и в настоящее время их называют электронно-вычислительными машинами (ЭВМ).
Конфигурацией компьютера называют фактический набор его компонентов, которые можно разделить на две группы устройств.
55

1. Системные (центральный процессор, математический сопроцессор, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), адаптеры, контроллеры).
2. Периферийные или внешние (устройства внешней памяти, управления, ввода и вывода информации), которые подключаются к интерфейсам системных устройств.
В конструкции компьютера также имеются:
- блок питания, преобразующий переменный ток сети в постоянный
ток низкого напряжения, подаваемый на электронные схемы компьютера;
- система воздушного охлаждения греющихся элементов.
Основным функциональным блоком компьютера является материн-
ская или системная плата, на которой размещены:
- центральный процессор;
- математический сопроцессор чисел с плавающей запятой;
- вспомогательные устройства: генератор тактовых импульсов (ГТИ),
счётчик времени, устройства контроля и защиты, микросхемы управления
компонентами компьютера;
- внутренняя память (ОЗУ и ПЗУ);
- интерфейсные средства.
Архитектура современных компьютеров основана на магистральномодульном принципе. Все компоненты компьютера соединяются между
собой системной шиной, которая обслуживается контроллерами и служебными устройствами (буфера, регистры, мосты), а также программной
оболочкой (драйверами и операционной системой). Используемые в настоящее время шины отличаются по разрядности, способу передачи сигнала (последовательные, параллельные), пропускной способности, количеству и типу поддерживаемых устройств, а также протоколу работы. Шины
могут быть синхронными (осуществляющими передачу данных по тактовым импульсам) и асинхронными (осуществляющие передачу данных в
произвольные моменты времени), а также использовать различные схемы
арбитража (то есть способа совместного использования шины несколькими
устройствами).
Аппаратное подключение периферийного устройства к материнской
плате на физическом уровне осуществляется через специальный блок –
контроллер или адаптер (плату, карту). Для установки контроллеров и
адаптеров на материнской плате имеются специальные разъёмы – слоты.
Программное управление работой периферийного устройства производится программой – драйвером.
Подключение к компьютеру различных внешних устройств осуществляется через специальные разъёмы – порты. Различают следующие порты:
- последовательные порты или COM (communications port), которые
передают небольшие объёмы информации на большие расстояния;
56

- параллельные или LPT (line print terminal) порты, которые передают
большие объёмы информации на небольшие расстояния, используются для
подключения принтера, сканера;
- последовательные универсальные или USB (universal serial bus)
порты, предназначенные для подключения различных внешних устройств,
флеш-дисков, осуществляющие как передачу информации, так и питание
внешних устройств.
Подключение компьютера к информационной сети осуществляется
через сетевой адаптер (сетевую плату или карту), который интегрирован в
материнскую плату.
Устройства внешней памяти относятся к периферийным устройствам
и предназначены для хранения больших объемов информации в виде файлов, содержание которых может быть произвольным. Процессор имеет
доступ к содержимому указанных файлов только в некоторой области
ОЗУ, то есть после предварительной записи в ОЗУ. Любое устройство
внешней памяти состоит из блока считывания, записи и удаления информации и носителя информации. В современных компьютерах используются следующие устройства внешней памяти.
1. Накопители на жестких магнитных дисках или винчестеры предназначены для долговременного хранения различных программ и документов, они являются основными устройствами внешней памяти.
2. Накопители на гибких магнитных дисках предназначены для считывания, записи и удаления информации с гибких магнитных дисков
(дискет).
3. Флеш-память – разновидность полупроводниковой технологии
электрически перепрограммируемой памяти. Благодаря компактности, дешевизне, механической прочности, большому объёму, скорости работы и
низкому энергопотреблению, флеш-память широко используется. Подключение съёмного носителя информации – флеш-диска производиться к
USB-порту.
4. Оптические накопители осуществляют считывание, запись и удаление данных с оптических дисков: компакт дисков или CD (compact disk);
цифровых видеодисков или DVD (digital video disk) при помощи лазера,
генерирующего монохроматические электромагнитные колебания в оптическом диапазоне в виде узконаправленного пучка света. Оптические диски являются съёмными носителями информации.
Устройства управления предназначены для воздействия пользователем на компьютер, к ним относятся: манипуляторы «мышь», сенсорные
экраны (мультитачи), трекболы, джойстики, сенсорные панели (тачпады).
Устройства ввода информации позволяют компьютеру или другой
микропроцессорной системе получать информацию от пользователей или
из окружающей среды. Основными устройствами ввода информации являются: клавиатуры, кнопочные панели, сенсорные экраны, дигитайзеры,
57

микрофоны, веб-камеры, кардридеры. Клавиатуры и кнопочные панели
также выполняют функции управления.
Устройства вывода информации воспроизводят визуальную и аудиальную информацию, позволяют пользователю воспринимать информацию из компьютера. К этим устройствам относятся: видеомониторы (дисплеи), динамики, аудиоколонки.
Настольные персональные компьютеры используются в домашних условиях, офисах, учебных заведениях, научных и проектных организациях, учреждениях здравоохранения, социальной сферы и культуры,
диспетчерских пунктах. Настольный персональный компьютер представляет собой комплекс устройств, включающий:
- системный блок;
- манипулятор «мышь» – устройство управления;
- устройства ввода (клавиатура и другие), предназначенные для вво-
да информации в компьютер пользователем;
- устройства вывода (видеомонитор и другие), представляющие
пользователю обработанную и хранимую компьютером информацию.
В системном блоке размещаются:
- системная плата;
- устройства внешней памяти;
- блок питания;
- система воздушного охлаждения.
На лицевой панели системного блока расположены дисководы накопителя на гибких магнитных дисках, оптического накопителя, USB-порты,
кнопка включения, на задней панели находятся различные порты для подключения внешних устройств, выключатель, разъём блока питания.
В современных настольных персональных компьютерах реализован
принцип открытой архитектуры, позволяющий пользователю самому комплектовать нужную ему конфигурацию компьютера и производить при необходимости её модернизацию.
Портативный персональный компьютер или лэптоп (lap – колени
сидящего человека, top – верх) выполняет те же функции, что и настольный персональный компьютер, отличается мобильностью, более низкой
производительностью, меньшей емкостью памяти. Лэптопы представлены
следующими устройствами:
- ноутбук (notebook – блокнот) – переносной персональный компьютер, в раскладном корпусе которого объединены компоненты персонального компьютера: системная плата, устройства внешней памяти, система воздушного охлаждения, дисплей, клавиатура, устройство управления (обычно сенсорная панель – тачпад), а также аккумуляторные батареи и блок питания; ноутбук имеет различные разъемы для подключения внешних устройств, встроенный кардридер;
58

- субноутбук или ультрапортативный ноутбук обладает малыми размерами и массой, имеет такую же функциональность как ноутбук;
- нетбук (net – сеть, book – книга) – субноутбук с относительно невысокой производительностью, предназначенный в основном для выхода в
Internet; имеет небольшую диагональ экрана (7–12 дюймов), низкое энергопотребление, малую массу и относительно невысокую стоимость;
- смартбук (smartbook) – субноутбук, построенный на аппаратной
платформе того же класса, которая используется для смартфонов и
Internet-планшетов; ключевая особенность следующая: в нетбуках и ноутбуках применяются процессоры семейства x86 или его потомка x86-64, в
смартбуках – процессоры семейства ARM (advanced restricted instruction set
machine – машина с сокращённым набором команд), также встречаются
процессоры MIPS (microprocessor without interlocked pipeline stages – микропроцессор без состояний задержки конвейера); для процессоров одинаковой производительности ARM оказывается значительно экономичнее по
сравнению с x86.
Сервер – специализированный компьютер, предназначенный для
хранения банков и баз данных, управления работой информационных сетей, представления своих вычислительных мощностей и ресурсов другим
компьютерам. Аппаратно сервер представляет собой системный блок, в
котором размещены все необходимые компоненты, отличается от настольных персональных компьютеров большой емкостью памяти и более высокой производительностью. Консольный комплект (монитор, клавиатура,
мышь) и участие человека необходимы серверам только на стадии первичной настройки, при аппаратно-техническом обслуживании и управлении в
нештатных ситуациях (штатно, большинство серверов управляются удалённо). Для нештатных ситуаций серверы обычно обеспечиваются одним
консольным комплектом на группу серверов.
Суперкомпьютер (supercomputer) или суперЭВМ – специализированная вычислительная машина, значительно превосходящая по своим
техническим параметрам и скорости вычислений большинство существующих в мире компьютеров. Как правило, современные суперкомпьютеры представляют собой большое число высокопроизводительных серверов,
соединённых друг с другом локальной высокоскоростной магистралью для
достижения максимальной производительности. Суперкомпьютеры используются во всех сферах, где требуется огромный объём сложных вычислений, обработка большого количества данных в реальном времени,
или решение задачи ищется простым перебором множества значений.
2.8.2. Виды и уровни программного обеспечения
Программа (компьютерная) – совокупность данных и команд, предназначенных для функционирования компьютера и его устройств с целью
получения определённого результата. Конечная цель любой программы
59

управление аппаратными средствами. Программное обеспечение и технические средства в компьютере работают в неразрывной связи и в непрерывном взаимодействии.
Пакет программ – набор взаимосвязанных модулей, предназначенных для решения задач определённого класса некоторой предметной области. Модуль – функционально законченный фрагмент программы,
оформленный в виде отдельного файла с исходным кодом. Модули позволяют разбивать сложные задачи на более мелкие, они обычно формируются таким образом, чтобы предоставлять программистам удобную для многократного использования функциональность в виде набора функций,
классов, констант. Модули объединяются в пакеты и, далее, в библиотеки.
Удобство использования модульной архитектуры заключается в возможности обновления (замены) модуля, без необходимости изменения остальной системы. В большинстве случаев различные модули могут запускаться
как на одном компьютере, так и на разных, для распределения нагрузки и
создания распределенной архитектуры.
Исходный код или исходный текст – текст программы на каком-либо
языке программирования или языке разметки, который может быть прочтён человеком, в обобщённом смысле – любые входные данные для
транслятора. Исходный код транслируется в исполняемый код целиком до
запуска программы при помощи компилятора, или может исполняться сразу при помощи интерпретатора.
В современных компьютерах выделяют три основных вида программного обеспечения:
- системное – комплекс программ, которые обеспечивают управление компонентами компьютера, такими как процессор, оперативная память, устройства ввода и вывода, сетевое оборудование, выступая как
«межслойный интерфейс», с одной стороны которого аппаратура, а с другой – приложения пользователя;
- прикладное – комплекс программ, предназначенных для выполнения определенных пользовательских задач и рассчитанных на непосредственное взаимодействие с пользователем;
- инструментальное – программы, обеспечивающие разработку, отладку и сопровождение создаваемых программ для компьютеров и программируемых логических контроллеров (ПЛК).
Состав программного обеспечения компьютера называют программной конфигурацией. Между программами, как и между физическими узлами и блоками существует взаимосвязь – многие программы работают, опираясь на другие программы более низкого уровня, то есть существует
межпрограммный интерфейс. Возможность существования такого интерфейса тоже основана на существовании технических условий и протоколов
взаимодействия, а на практике он обеспечивается распределением про-
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
