- •Г.Г КАШЕВАРОВА, Т.Б. ПЕРМЯКОВА
- •Предисловие
- •Введение
- •Общие сведения о математическом моделировании.
- •Численные методы
- •Элементы теории погрешности
- •Понятия мастера и надстройки
- •Глава 1. Основные понятия матричного исчисления. Матрицы в расчетах строительных объектов
- •1.1. Матрицы и векторы. Определения
- •1.2. Матрицы специального вида
- •1.3. Действия над матрицами
- •1.4. Нормы матрицы и вектора
- •1.5. Матрицы в задачах строительной механики
- •1.5.1. Матрицы влияния внутренних сил
- •1.5.2. Матричная форма расчета статически определимых ферм
- •1.5.3, Матричная форма метода сил
- •1.5.4. Матричная форма метода перемещений
- •1.6. Матрицы в расчетах инженерных сетей
- •1.7. Функции Excel для операций над матрицами
- •Категория: математические. Функции:
- •2.1. Системы линейных алгебраических уравнений
- •2.2.1. Метод Гаусса
- •2.2.2. Метод Гаусса для СЛАУ с ленточными матрицами
- •2.2.3. Метод прогонки
- •2.2.4. Метод (схема) Холецкого
- •2.3. Итерационные методы решения систем линейных алгебраических уравнений
- •2.3.1. Метод Якоби (простых итераций)
- •2.3.2. Метод Гаусса - Зейделя.
- •2.3.3. Условия сходимости итерационного процесса
- •2.5. Обусловленность задач и вычислений, или как узнать, что получены правильные ответы
- •2.6. Вычисление определителя
- •2.7. Вычисление обратной матрицы
- •2.8. Нахождение собственных значений и собственных векторов матриц
- •2.8.1. Вводные замечания
- •2.8.2. Методы развертывания вековых определителей
- •2.8.3. Итерационные методы определения максимального по модулю собственного значения
- •2.9.1. Реализация метода Гаусса средствами приложения Excel
- •Последовательность действий:
- •2.9.4. Реализация метода Зейделя средствами приложения Excel
- •Последовательность действий:
- •3.1. Отделение корней
- •3.2. Этап уточнения корня
- •3.2.1. Метод половинного деления (бисекций)
- •3.2.2.Метод хорд
- •3.2.3. Метод Ньютона (метод касательных)
- •3.2.4. Модифицированный метод Ньютона
- •3.3. Системы нелинейных уравнений
- •3.4. Реализация численных методов решения нелинейных уравнений средствами приложения Excel
- •3.4.1. Решение нелинейных уравнений
- •Последовательность действий
- •4.2.3. Интерполяционный полином Эрмита
- •4.2.4. Сплайн-интерполяция
- •Глава 4. Аппроксимация
- •4.1. Задача и способы аппроксимации
- •4.2. Интерполирование функций
- •4.2.1. Постановка задачи интерполирования
- •4.2.2. Интерполяционная формула Лагранжа
- •4.3. Среднеквадратичное приближение функций
- •4.3.1. Метод наименьших квадратов
- •4.3.4. Квадратичное (параболическое) приближение
- •4.3.4. Эмпирические формулы с двумя параметрами. Метод выравнивания
- •4.4. Решение задач аппроксимации с помощью электронных таблиц Excel
- •4.4.1. Построение линейной эмпирической формулы методом наименьших квадратов
- •Последовательность действий
- •Последовательность действий
- •5.1. Квадратурные формулы прямоугольников
- •5.2. Квадратурная формула трапеций
- •5.3. Квадратурная формула Симпсона
- •5.4. Реализация методов численного интегрирования средствами приложения Excel
- •Глава 6. Численные методы решения дифференциальных уравнений с начальными и краевыми условиями
- •6.1.1. Задачи Коши и краевые задачи
- •6.2.1.Классификация уравнений и типы задач
- •6.3. Численные методы решения задач Коши
- •6.3.1. Метод Эйлера
- •(геометрический метод решения задачи Коши)
- •6.4. Численные методы решения краевых задач
- •Разностная схема краевой задачи для обыкновенного дифференциального уравнения 2-го порядка
- •Конечно-разностная аппроксимация функций двух переменных
- •Сходимость метода конечных разностей
- •6.5. Вариационный подход к решению краевых задач
- •6.5.1. Основные понятия вариационного исчисления
- •6.5.2. Связь решения краевой задачи с нахождением минимума функционала
- •6.5.3. Метод Ритца
- •6.6.1. Решение задачи Коши методом Эйлера
- •Построение второй итерации
- •Последовательность действий.
- •Порядок построения графиков приближенных решений краевой задачи
- •Глава 7. Метод конечных элементов
- •7.1. Основные положения МКЭ
- •Построение расчетной модели
- •Аппроксимация искомой функции
- •Составление разрешающих уравнений
- •Решение системы линейных алгебраических уравнений
- •7.2.1. Классификация конечных элементов
- •Одномерный конечный элемент
- •Двухмерные конечные элементы.
- •элемента
- •Одномерный симплекс-элемент
- •Двухмерный треугольный симплекс-элемент
- •7.2.3. Интерполирование векторных величин
- •7.2.4. Разбиение области на конечные элементы
- •7.2.5 Нумерация узлов и элементов
- •7. 3. Основные соотношения МКЭ
- •7.3.1. Получение разрешающих уравнений на примере плоской задачи теории упругости
- •7.3.2. Примеры разрешающих уравнений в задачах расчета строительных объектов
- •7.4. Другие типы конечных элементов
- •7.4.1. Элементы Эрмита
- •7.5. Теоретическая и практическая сходимость МКЭ
- •7.6.1. Специализированные программные комплексы
- •7.6.2. Универсальные программные комплексы
- •8.1.1. Математическая модель задачи оптимизации
- •8.1. Общие сведения
- •8.1.2. Необходимые и достаточные условия экстремума функции
- •8.1.3. Классификация задач математического программирования
- •8.2. Постановка задачи оптимального проектирования
- •8.2.1. Определение входных и выходных параметров
- •8.2.2. Выбор целевой функции
- •8.2.3. Назначение ограничений
- •8.2.4. Нормирование управляемых и выходных параметров
- •8.2.5. Примеры постановок задач оптимального проектирования
- •8.3. Задачи линейного программирования
- •8.3.1. Общая постановка задачи ЛП
- •8.3.2. Геометрический смысл системы линейных неравенств с двумя неизвестными
- •8.3.4. Симплекс-метод решения задач линейного программирования
- •Задача об оптимальном плане выпуска продукции
- •Задача об оптимальном раскрое материалов (о минимизации отходов)
- •Задача о планировании смен на предприятии
- •Задача о покрытии местности при строительстве объектов
- •Транспортная задача
- •Задача о назначениях (проблема выбора)
- •8.3.6. Двойственные задачи в линейном программировании
- •8.4. Нелинейные задачи оптимизации
- •8.4.1. Выпуклые множества и выпуклые функции
- •8.4.2. Классификация численных методов решения нелинейных задач оптимизации
- •Основные этапы поиска экстремума
- •8.4.3. Численные методы одномерного поиска
- •Метод перебора или равномерного поиска
- •Метод дихотомии (или половинного деления)
- •Метод квадратичной интерполяции
- •Метод покоординатного спуска
- •Метод градиентного спуска
- •Метод наискорейшего спуска
- •Метод сопряженных градиентов
- •Метод Ньютона
- •Метод штрафных функций
- •8.5. Решение задач оптимизации с помощью электронных таблиц Excel
- •Литература
- •Оглавление
- •Численные методы решения задач строительства на ЭВМ
8.3. Задачи линейного программирования
Если говорить о математической стороне дела, то молено отметить, что наибольшее распространение получили методы линейного программирования. Это объясняется широким практическим приложением, а также доступностью и простотой использования программ для ЭВМ, реализующих эти методы. К задачам ЛП удается свести большое количество задач управления и экономики и очень редко - задачи технического проектирования конструкций. Рассмотрим общую постановку задач ЛП, некоторые схемы типичного применения и методы их решения.
8.3.1. Общая постановка задачи ЛП
Задача линейного программирования (ЛП) формулируется следующим образом: требуется найти экстремум (min/max) линейной функции п независимых переменных (проектных
параметров) xIf х2, .., *„[18, 21, 23]:
п
Z min = С1*1 + С2 * 2 + - + С„ Х „ = £ Ci X i |
( 8 -5 О |
/=1 при ограничениях, наложенных на переменные в виде линейных неравенств, т>п :
«1 1 * 1+ai2x2+....... |
A-aUlx„<bi, |
|
а2 \Х\ +«22*2 +...... |
+«2„*„ —^2> |
|
|
|
(8.52) |
Я,„1*1 + «„,2*2 + .......... |
+ «„„,*„ |
£ Ъ т . |
*;>(), |
/‘ = 1,2,..И. |
(8.53) |
Линейную функцию (8.51) - функцию цели - принято называть линейной формой задачи ЛП.
Наряду с задачей ЛП (8.51 - 8.53), называемой стандартной или естественной, существуют [17] и другие задачи ЛП, имеющие различные формы записи. Например, система неравенств (8.52) может быть смешанной, т.е. наряду с неравенствами система ограничений может содержать и равенства, или проектные
параметры могут быть не все неотрицательны, т.е. не для всех из них выполняется условие (8.53), и наконец, в ряде случаев требуется найти максимум линейной формы, Z,rax. Любая из них может быть сведена путем несложных математических преобразований к эквивалентной ей задаче любого другого вида [23].
8.3.2. Геометрический смысл системы линейных неравенств с двумя неизвестными
Рассмотрим линейное неравенство с двумя неизвестными xh х2
а хх+ b х2 + с > 0. |
(8.54) |
Областью решения неравенства (4) является множество точек D , удовлетворяющих этому неравенству, т.е. полуплоскость Р, ограниченная прямой L: а х{+Ь х2+ с = О
Прямая L разбивает всю плоскость на 2-е полуплоскости. Для определения какую из двух полуплоскостей описывает неравенство
(8.54), достаточно выбрать точку М ° ( х х,х2) и проверить,
удовлетворяют ли координаты ее неравенству (8.54).
■Пример 8.1. Найти полуплоскость, определяемую неравенством
х} +2 х2 - 2 > 0 .
Рассмотрим прямую |
хх+ 2 х2 - 2 = 0, разбивающую всю |
плоскость на две полуплоскости. Выбрав точку М(0,0), легко убедиться, что координаты ее не удовлетворяют исходному неравенству, и это значит, что неравенство определяет прямую и полуплоскость, расположенную «выше» этой прямой (рис.8.7).
Рис.8.7. Область решения неравенства
Предположим теперь, что задано не одно неравенство, а
система неравенств |
|
|
аих\ н- #12-^2 |
Ь\ ~ |
|
«21*1 + «2 2 *2 |
+*2 ^ 0 . |
(8.55) |
|
|
«,»i*i +ан2х2 +Ьт>0.
Каждое неравенство определяет некоторую полуплоскость Р1У (/=1,2,..,/72). Областью решений системы неравенств (8.55) является область пересечения конечного числа полуплоскостей, описываемых каждым отдельным неравенством. И этой областью является многоугольник.
Область решения системы (8.55) может быть замкнутым
(рис.8.8,а) или неограниченным (рис.8.8,б) многоугольником D , может быть пустой областью (рис.8.8,в), когда система (8.55) противоречива.
Рис.8.8. Область решения системы неравенств
Область допустимых решений D обладает важным свойством - выпуклостью. Понятие выпуклости мы рассмотрим позднее.
Обобщим сказанное на случай большего числа переменных.
При /2=3 система (8.55) имеет вид |
|
ai Xj + Ь} х2 + cfxз + di > 0, i = 1,2,..,/я . |
(8.55 a) |
Каждая плоскость Р( :а( хх +6, х2 + с(х3 + d t =О (г = 1,2,..,т) при
этом разбивает пространство на два полупространства. Область решений (8.55а) образуется пересечением т полупространств и представляет собой многогранную выпуклую область в трехмерном пространстве.
Совокупность точек «-мерного пространства, координаты которого удовлетворяют системе (8.52), есть выпуклая многогранная
область D , получающаяся в результате пересечения всех п полупространств, отвечающих неравенствам системы. Если эта область ограничена, мы называем ее выпуклым многогранником.
Опорной прямой (при и=2) называется прямая, которая имеет с областью D , по крайней мере, одну общую точку. При
этом вся область D расположена по одну сторону от этой прямой. Например, на рис.8.9 Ь\ и Ь2 - опорные прямые. L\ проходит через
вершину области D , а Ьг- через одну из сторон D L
L
Рис.8.9. К определению опорной прямой
При п=3 опорная плоскость может проходить через вершину многогранника, или его ребро, или его грань. Понятие опорной плоскости (гиперплоскости) легко обобщить на случай
п>3.
8.3.3. Геометрический метод решения задач линейного программирования
Постановка задачи. Пусть задана целевая функция для двух проектных параметров х/ и х2 :
(8.56)
Для определенности положим с2 >0. И пусть задана система линейных неравенств:
а\\Х\ + а12х2 +ЬХ>0,
а2Хх{ + а22х2 +Ь2 >0,
(8.57)
Я»,1*1 + а ,пгХ г + Ь п, ^ °»
х, > 0, х2 >0.
Требуется среди допустимых решений системы неравенств (8.57) найти такое, при котором целевая функция (8.56) принимает минимальное значение.
Порядок решения
1. Область допустимых решений системы (8.57) - это
выпуклая многоугольная область D на плоскости Х\Х2, лежащая в
первой четверти, и среди всех точек (х ^ х ^ е D требуется найти такую, которая минимизирует функцию цели (8.56). Строим эту область.
2. Приравняем выражение функции |
цели какой-либо |
постоянной величине R: |
|
С\Х\ + c2xz = R . |
(8.58) |
Уравнение (8.58) определяет на плоскости прямую, в точках которой функция Z принимает постоянное значение R. Такая прямая называется линией уровня функции цели Z. Изменим постоянную R и получим другую линию уровня с^Ху +с2х2 =Ry, параллельную первой.
Пусть R изменяется от 0 до +°о. Тогда прямая уровня смещается параллельно самой себе, “зачеркивая” целую полуплоскость, границей которой будет СуХ{ + с2х2 = 0. Таким
образом, учитывая, что с2 > 0 прямая линии уровня с ростом R
смещается вверх (рис.8.10, а ).
Рис.8.10. Линии уровня целевой функции
При изменении R от 0 до -о о прямая линии уровня смещается в противоположную сторону, “зачеркивая” вторую половину полуплоскости (рис.8.10 б). При возрастании R от - о о до +оо линия уровня (8.58), смещаясь параллельно самой себе в одну и ту же сторону, “зачеркивает” всю плоскость.
Вывод:
$ Чтобы найти минимум целевой функции, зависящей от двух параметров, графическим способом, необходимо:
1.Построить область допустимых решений задачи D , описываемую системой ограничений;
2 . Среди всех точек области D найти такую точку, в которой функция цели Z принимает наименьшее значение. Координаты этой точки и дают решение задачи. Причем, это будет первая
точка встречи линии уровня для Zmin с областью D при смещении линии уровня снизу вверх (при возрастании R от -оо до +оо) [3 5 ].
На рис.8.11 эта точка совпадает с началом координат. Для любой другой точки из области D значение функции Zmj„ будет больше, чем в точке (0,0).
Рис.8.11. Графический метод поиска экстремума функции
При решении подобных задач возможны различные случаи:
1. При перемещении линии уровня соприкосновение ее с
областью D произойдет по целому отрезку границы области. В этом случае решений бесконечно много. Такой случай рассмотрен в
примере 8.3.
2. Область D является неограниченной фигурой, и прямая уровня Z = R для сколь угодно больших по абсолютной величине
отрицательных R имеет общие точки с областью D В этом случае
минимальное значение функции цели в области D равно -°о. Линия уровня —x=R при всех значениях R ( - co < R < 0) пересекает
область D Следовательно, функция цели в области не ограничена снизу, т.е. z mjn = -о о , иначе говоря, минимум функции не достигается. Такой случай приведен в примере 8.4.
3. Область допустимых решений D пуста, и задача (8.56-8.57) в этом случае не имеет решения.
4. Область допустимых решений D содержит единственную точку. В этом случае не приходится говорить об оптимальном решении.
В случае п неизвестных (п > 3) все построения теряют наглядность. Однако геометрическая формулировка задачи в случае п неизвестных остается той же самой, что и в случае двух переменных. Различие состоит в том, что понятие «линия уровня» для /1=2 заменяется понятием «плоскость уровня» для /7=3 и «гиперплоскость» - для п > 3. Рассмотрим несколько примеров.
■ Пример 8.2. Минимизировать целевую функцию |
|
*mh. =1 - Х - у |
(8.59) |
при ограничениях
х - у +1 > О,
Ъх+2у - 6 > О,
(8.60)
- З х - у + 9>0, х > 0 , у > 0 .
Строим полуплоскости, соответствующие каждому неравенству системы ограничений. Полуплоскость Р} ограничена прямой х-у+\=0 и расположена «снизу» от этой прямой. Аналогично строим полуплоскости Р2 и. Р3. Пересечение полуплоскостей Ph Ръ Р3 и X > 0, у > 0 дает
многоугольник/) (рис.8 .1 2 ).
Записываем прямую линию уровня функции
1- х - у = R
истроим прямые, соответствующие R—1, R=0 и R=1. Из рис.8 .12 видно, что линию уровня нужно “катить” в сторону уменьшения значения R до встречи с точкой М (2,3) в которой функция цели принимает значение
^тах7 = - 4^•
Таким образом, решением задачи является: JC=2, у=3, Zmax=- 4.
Решение данной задачи с использованием электронных таблиц Excel приведено в разделе 8.5.5.
■Пример 8.3. Минимизировать целевую функцию
*m in = Х ~ У |
( 8 *6 1 ) |
при ограничениях примера 8 .2 .
Область допустимых решений уже построена в предыдущем примере. Строим линии уровня
х —у = R для R=0 и R=-1.
Из рис.8.13 видно, что при перемещении линии уровня соприкосновение с областью D произойдет по границе области.
Задача имеет бесконечно много решений и можно выбрать одно из них, исходя из физического смысла задачи.
Рис.8.13. К примеру 8.3
■ Пример 8.4. Минимизировать функцию цели |
(8.62) |
^min = ~Х • |
Система ограничений имеет вид лг +у-1 > О,
х - у +1 > 0 ,
(8.63)
- х + у +1 > 0 ,
х > 0 , у> 0 .
Построим область допустимых решений, определяемую системой неравенств (8.63), аналогично примеру 8.2 (см. рис.8.14).
Рис.8.14. К примеру 8.4
Строим линии уровня -x=R для R=0, R— 1, R=-2. Очевидно, что
для всех Re[-<o,0] линии уровня пересекают область D Следовательно, функция цели не ограничена снизу, т.е. Zmin = -оо .
■Пример 8.5. Рассмотрим предыдущую задачу на максимизацию, т.е. ограничения описываются системой (8.63), а функция цели имеет вид
Zmax=-*- |
(8-64) |
Из рис.8.14 видно, что максимальное значение функция цели достигает в начале системы координат, т.е. решением задачи является х=0, у=0 и соответственно Z|ШХ=0 .