Эконометрические модели в социально

advertisement
АРХИПЕНКОВ С.М.
МАТЕМАТИЧЕСКИЕ
ЭКОНОМИЧЕСКОМ
МЕТОДЫ В СОЦИАЛЬНО-
УПРАВЛЕНИИ.
МОНОГРАФИЯ.
ТАМБОВ
2010.
1
УДК.338
ББК У050.03
А87
А87. Архипенков С.М.
МАТЕМАТИЧЕСКИЕ
МЕТОДЫ В СОЦИАЛЬНОЭКОНОМИЧЕСКОМ УПРАВЛЕНИИ.
/С.М. Архипенков. – Тамбов.2010.- 81 с.
ISBN 978-5-903435-62-3
В монографии представлены новые разработки
в
области
численных
методов
оптимизации
управленческих решений в экономике.
Эти разработки полезны для тех ,кто изучает
экономику , а также для тех , кто совершенствует
процесс социально-экономического управления.
В современных
условиях
эти
разработки
целесообразно использовать для обоснования
управленческих решений в сфере управления
производственными процессами.
Кроме того, эти разработки могут
успешно
использовать
студенты
экономических
и
технических вузов , аспиранты , преподаватели ,
научные работники
и специалисты различных
служб предприятий и организаций.
УДК.338
ББК У050.03
@ Архипенков С.М. 2010
@ Изд-во ИП
ISBN 978-5-903435-62-3
2
Чеснокова А.В. 2010
СОДЕРЖАНИЕ.
Введение………………………………………………………4
ГЛАВА 1. Краткая характеристика математических
методов в экономике………………………………………6
1.1. Математическое программирование в экономике и управлении
……
……….6
1.2. Эконометрические модели
…………………16
1.3. Балансовые модели в экономике……………… 21
Глава 2.Итерационный метод обращения матриц
Глава 3. Итерационный
поиска
уравнений
всех
численный метод
корней
высоких
22
алгебраических
степеней …… …………….. 30
Глава 4. Итерационный численный метод поиска
частично-целочисленных решений экономических
задач линейного программирования ……………… 47
Глава 5. Метод решения экономических задач
математического программирования с дробными
критериальными функциями……………………………61
Литература…………………………………… 77.
3
ВВЕДЕНИЕ.
Современная
наука
экономического
в сфере
управления
социально-
характеризуется
значительным использованием математики и ЭВМ.
Использование
математики
в
единстве
с
экономическим анализом приносит существенную
пользу экономической науке и практике.
Известно,
что
любое
экономики начинаетсчя
состояния
процесса
и
в
управление
с
оценки
динамики
Известно так же
экономическое
и
то,
явление
изучаемого
будущем
что
в
сфере
достигнутого
развития
ближайшем
в
времени.
одно
разных
и
тоже
условиях
может получить неодинаковую оценку.
Ещё
более эта оценка
создавать
с
осложняется
,если её
использованием
многих
критериев(показателей).
В
данной
работе
управленческих
для
решений
повышения
качества
предлагаются
новые
численные методы:
итерационный численный
алгебраических
уравнений
метод
поиска
высоких
корней
степеней ,
итерационный численный метод поиска решений
задач линейного программирования с частичноцелочисленными переменными,
4
итерационный численный метод обращения матриц
больших размерностей и
метод решения экономических задач
математического программирования с дробными
критериальными функциями.
Итерационный
численный
метод
обращения
матриц и итерационный численный метод поиска
корней
алгебраических
уравнений
высоких
степеней представляют ценность не только
для
решения
экономических
ещё
большую
ценность
возникающих
в
для
задач,
но
решения
естественных
и
и
задач ,
технических
науках.
Все вышеперечисленные математические методы
проверены
с
помощью
примеров.
5
решения
числовых
ГЛАВА1.
КРАТКАЯ
ХАРАКТЕРИСТИКА
МАТЕМАТИЧЕСКИХ
МЕТОДОВ В ЭКОНОМИКЕ.
Здесь кратко будут описаны основные группы
моделей
и
численных
методов,
используемых в
современной экономике и управлении.
1.1. Математическое программирование в экономике
и управлении.
В
общем
виде
программирования
задача
может
математического
быть
записана
следу -
ющим образом |1; 12|:
Найти
значения
переменных X 1 ,X 2 ,…,X n , при
которых критериальная( целевая) функция:
L=f(X 1 ,…,X n )
 max(min)
при условиях:

1
(X 1 ,…,X n )  0 (  0 )
……………………..
(1)
m (X 1 ,…,X n )  0 (  0 )
X j  0 , j=1,2,…,n.
Условия
(1)
ограничениями,
а
(2)
называют
условия
ограничениями.
6
(2)
специальными
-
общими
В данном
случае
математические
f, 
1
,…, m - cимволизируют
функции.
Функцию
f(X 1 ,…,X n )
принято называть критериальной (целевой) функцией.
Точка
n – мерного
евклидова
пространства
(X 1 ,…,X n ),
удовлетворяющая
называется
Множество
всем
ограничениям
задачи,
решением
задачи.
допустимым
всех
допустимых
допустимым множеством.
решений
называется
Иногда оно может быть
пустым множеством. То есть задача иногда может
не
иметь
решения.
Далее, допустимое
решение
называют оптимальным( наилучшим) , при котором
критериальная
функция задачи
наилучшего
значения(
достигает своего
максимального
или
минимального).
Если
же критериальная
функция
,
задачи
остальные
функции
являются
линейными
, то
решаемая
относится
к
ЗЛП-
задач
классу
включённые
в
и
все
задачу ,
задача
линейного
программирования. В противном случае имеет место
задача нелинейного программирования.
ЗЛП в самом общем виде может быть записана
следующим образом.
Найти
значения
неизвестных
которых следующая критериальная
7
X 1 ,….,X n ,
функция:
при
n
L=  C j X j  max(min)
j 1
при
условиях:
a 11 X 1 +a 12 X 2 +….+a 1n X n  b1 (  b1 )
1
………………………………………
a m1 X 1 + a m 2 X 2 +…….+a mn X n  bm (  bm )
X j  0 j=1,2,…,n.
(2)
В некоторых случаях условие (2) записывается
в виде двухстороннего условия:
d j  X Dj ,
где
d j , D j - соответственно нижняя и верхняя
границы для неизвестных величин (j=1,2,…,n).
ЗЛП в канонической (стандартной) форме может
быть записана следующим образом.
В
матричной
следующий
вид.
форме
Найти
она
может
вектор –столбец
котором критериальная функция
иметь
X, при
L=CX  max(min)
при условиях:
 X1 
 
X
X=  2 
...
 
X 
 n
 b1 
 
b
b=  2 
 ... 
b 
 m
AX=b;
(1)
X 0.
(2)
- n-мерный вектор-столбец переменных;
;
 a11 a12

a
a
A=  21 22
...
 ...
a
 m1 am 2
... a1n 

... a2 n 
... ... 
... amn 
8
матрица ;
C= C1
C2 ... Cn  -
вектор-строка
коэффициентов
критериальной функции.
Известно,
что
искусственных
приведена
любая
переменных
ЗЛП
легко
введением
может
быть
к канонической форме.
Пусть ,далее,
имеется ЗЛП
с требованием
обратить критериальную функцию в максимум. Тогда
эта ЗЛП может быть легко приведена к равноценной
ей ЗЛП с требованием минимизации критериальной
функции
/ 12 /.
Среди ЗЛП выделяют задачи с целочисленными
переменными.
Эти
задачи
могут
быть
записаны
следующим образом:
Найти
значения
которых
неизвестных X 1 , X 2 ,…,X n ,
при
критериальная функция :
n
L=  C j X j  min(max)
j 1
при условиях:
n
 a X =b , i=1,2,…,m;
(1)
X j  0 , j=1,2,…,n.
(2)
j 1
ij
j
i
Дополнительное
(j=1,2,…,n).
линейного
Это
требование
есть
:
Xj -
задача
целые
числа
целочисленного
программирования. Если же требование
целочисленности относится не ко всем переменным ,
то
ЗЛП
будет относиться
частично-целочисленными
к
группе
переменными.
9
ЗЛП
с
Частным
случаем
эадач
этого
типа
являются
ЗЛП
с
булевыми переменными.
Для
поиска
численных
метод
решений
методов.
ЗЛП
существует
Во-первых ,
много
симплексный
и его различные модификации. Эти методы
относятся к числу конечных методов математики. То
есть за конечное число шагов (итераций)
находят
оптимальное ( наилучшее) решение ЗЛП.
Существуют
методы.
ещё
Они
и
итерационные
позволяют
получить
сходящиеся
оптимальное
решение только как предельное решение.
Для поиска решений ЦЗЛП (целочисленных ЗЛП)
созданы специальные методы:
- методы отсекающих плоскостей;
- комбинаторные методы ;
- методы статистических испытаний и др.
Методы отсекающих
построении
решаемой
метода
дополнительных
ЗЛП
или
математики.
При
решения
программа
и
в
других
размеры ЗЛП
поиск
плоскостей
на
заключаются
ограничений
применении
методов
в
к
симплексного
вычислительной
использовании
этого
метода
быстро растут и очень усложняется
задачи
ЭВМ ,
и
особенно
реализующая
математики.
10
усложняеся
такой
метод
Комбинаторные
же
методы
сводятся
ограниченному перебору вариантов решения ЗЛП
к
с
целью выбора наилучшего варианта.
Использование
методов
статистических
испытаний
сводится всякий раз к построению конкретного вида
вычислительного
вариантов
процесса
решения
для
формирования
ЗЛП (случайных вариантов)
с
целью выбора оптимального из этих вариантов. Эти
методы
используют
для поиска решений очень
сложных задач математического программирования.
Характеристика этих методов при ведена в работах
/ 6; 12 /.
В данной же монографии описан метод решения
ЦЗЛП ,
который не относится к вышеназванным
методам вычислительной математики.
Далее,
в
качестве
примера
математического программирования
привести
следующую
оптимальной
задачу
организации
и
задач
целесообразно
из
сферы
планирования
машиностроительного производства/ 10;16/.
ЗАДАЧА
формирования
оптимальной
производственной структуры прямоточной
линии в
машиностроении.
НАЙТИ значения неизвестных величин X i ,Y i , t i , X iv ,
X iu(1) (при всех значениях индексов i ,v,u) при которых
критериальная
функция :
11
m
L=  X i
 min
i 1
при условиях:
ui
(1)
vi
ui
v 1
u 1
(1)
X i =A i (t i -  t X iu )+(B i +  Ï iv X iv )Y i /N +  (Ciu +D iu t iu(1) )X iu ;
( 0)
iu
u 1
(i=-1,2,…,m;
ui
(1)
vi
t i =  (t + t + t )X +  tiv( 2) X iv ;i=1,2,…,m;
u 1
(1)
Y
i 1
ui
i
(1)
iu
(0)
;i=1,2,…,m;
(4)
(1)
iu
i=1,2,….,m;
 X =1;
i=1,2,…,m;
vi
v1
(3)
K;
 X =1;
u 1
(2)
v 1
Y i  N t i /T
m
( 3)
iu
(0)
iu
(1)
iu
iv
(5)
(6)
(1)
Y i ;X iv ;X iu - целые неотрицательные числа при всех
значениях индексов i, u,v.
Эта
задача
целочисленного
относится
линейного
частично-целочисленными
решения
таких
Эффективные
задач
классу
переменными.
описаны
методы
в
решения
величин
задач
программирования
предложены также в работах / 10;16
ОБЪЯСНЕНИЕ
к
,
с
Методы
литературе.
таких
задач
/.
участвующих
в
этой
задаче.
П О C Т О Я Н Н Ы Е величины :
N – годовой
объём
производства
данного вида на поточной линии;
12
продукции
m- число технологических операций в избранном
варианте
технологического
маршрута
обработки
продукции данного вида;
связанные
A i -затраты,
станочника
работы
с
с
отчислениями
на i- й
группе
оплатой
за
труда
единицу
рабочих
времени
мест
поточной
линии(i=1,2,…,m).
Bi
- приведенные
эксплуатацией
занимаемой
течение
vi -
затраты,
единицы
ею
связанные
оборудования
производственной
площади
с
и
в
анализируемого года( i=1,2,…,m).
число
альтернативных
приспособлений
использовать
,
которые
на i –й
вариантов
возможно
операции
в
будет
процессе
обработки деталей данного вида ;
П iv -
приведенные
затраты, связанные
с
использованием в течение года приспособлений v-го
типа на i-й
tiu( 0 )
операции(i=1,2,..,m; v=1,2,…,v i );
- время на
смену
инструментов
при
обработке деталей данного вида на i-й операции с
использованием u-го варианта режима обработки
(i=1,2,…,m; u=1,2,…, u i );
ui режима
число
всех
обработки
альтернативных
деталей
операции(i=1,2,…,m);
13
данного
вариантов
вида
на
i-й
(1)
t iu - машинное время обработки одной детали на
i-й операции при
условии
использования
u-го
варианта режима обработки ( i=1,2,…,m; u=1,2,…, u i );
( 2)
t iv
время
-
отдыха
,
технического
и
организационного обслуивания на данной операции ,
а
также
время
,
учитывающее
выполнения ручных работ
детали
на
операции
i-й
длительность
при обработке
при
одной
использовании
v-го
варианта приспособлений( i=1,2,…,m; v=1,2,…,v i );
tiu(3) -
время , включающее подвод инструментов
к детали, включение подачи и отвод инструментов
в
исходное
положение
использовании
u-го
на i-й
варианта
операции
режима
при
обработки
(i=1,2,…,m; u=1,2,…,u i );
(1)
N - сменный выпуск деталей данного вида на
поточной линии;
(0)
T - продолжительность рабочей смены;
K- допустимое число единиц оборудования на
создаваемой пряточной линии;
C iu
- затраты, связанные с переточкой и со
сменой инструментов( приходящиеся на одну деталь)
при
обработке
детали
на
i-й
операции
по
u-му
варианту режима обработки(i=1,2,…,m; u=1,2,…,u i );
14
D iu - затраты
на
силовую
потребляемую оборудованием
электроэнергию
,
при данном режиме
обработки за единицу времени(i=1,2,…,m; u=1,2,…,u i );
ПЕРЕМЕННЫЕ величины означают:
X i - затраты,
одной
связанные
детали
только
данного
с
вида
обработкой
на
i-й
операции(i=1,2,…,m);
Yi -
количество
единиц
оборудования
,
на
которых детали будут обрабатываться на i-й группе
рабочих мест поточной линии(i=1,2,…,m);
t i - длительность
обработки
детали
на i-й
операции;
X iv - булева переменная , принимающая значение
1 только тогда , когда для обработки детали на i-й
операции будет использоваться приспособление v-го
типа . В остальных случаях она будет равной нулю (
i=1,2,…,m; v=1,2,…,v i );
(1)
X iu - булева переменная , принимающая значение
1 только тогда, когда для обработки
детали на i-й
операции будет использоваться u-й вариант режима
обработки ( при всех значениях i,u );
i
L- суммарные затраты , связанные с обработкой
детали
данного
анализируемой
вида
на
прямоточной
всех
операциях
линии.
Необходимо
выбрать такие варианты приспособлений и такие
15
варианты режимов обработки детали при которых
переменная
значения
достигает
L
своего
минимального
с учётом всех ограничений , отражённых
в рассматриваемой здесь модели.
Далее,
математические
модели
для
формирования
оптимальной
производственной
многопредметной
поточной
системы
линии
многопредметных
предметно-замкнутых
структуры
и
структуры
поточных
участков
линий
и
производства
являются достаточно сложными / 10; 16
/.
Для
поиска решений таких моделей применение методов
математического
программирования
пока
невозможно или не эффективно. Для таких целей
можно применять менее точные методы .
1.2. ЭКОНОМЕТРИЧЕСКИЕ МОДЕЛИ.
Эконометрика
есть
наука,
занимающаяся
исследованием количественных закономерностей и
взаимосвязей
в
экономике
испольэованием
математической
теории
статистики.
и
управлении
веоятностей
Основой
этой
с
и
науки
являются эконометрические модели.
Первые работы по эконометрике появились в конце
Х1Х-начале ХХ века.
Вначале
линейные
строились
и
математические
16
использовались
функции,
только
выражавшие
зависимость какого-либо показателя ( признака) от
факторов.
сложных
систем
Затем
перешли
нелинейных
к
построению
математических
взаимосвязанных
более
функций
между
и
собой
математических функций.
Эконометрические
модели
в
настоящее
время
являются не только мощным инструментом
для
получения новых ценных знаний в экономике , но и
являются
широко
применяемым
принятия практических
аппаратом
для
управленческих решений в
прогнозировании , бизнесе и в банковском деле.
В
экономике
называют
эконометрические
модели нередко
производственными функциями , имея
виду математические функции типа
в
функций Кобба-
Дугласа и другие виды функций.
В
общем
виде
многофакторную
производственную функцию можно записать так /18/:
Y=f(X 1 ,X 2 ,…,X n );
(1)
где Y- зависимая переменная или функция;
X 1 ,…,X n -(аргументы)
характеризующие
независимые
факторы,
величины,
влияющие
на
зависимую величину Y;
n- число всех факторов, влияющих на функцию.
Это уравнение (1)
может быть весьма сложным
или очень простым линейным уравнением.
17
Часто
формула
(1)
записывается
так:
^
Y =f(X 1 ,..,X n ),
^
где - Y - расчётное значение изучаемого показателя.
Комплекс показателей-факторов можно разделить
на 3 подгруппы и соответственно математическую
производственную функцию представить так:
^
Y =f(X 1 ,…,X k ;X k 1 ,…,X m ;X m1 ,…X n ).
Величины 1-й подгруппы являются переменными
и явно включены в формулу (1). Величины от X k 1
до X m
(вторая подгруппа) характеризуют
зафиксированные
на
определённом
тоже отражены
в
влияния
колебания
на
формуле
факторы,
уровне.
Они
(1). Они не оказывают
функции.
Остальные
величины входят в 3-ю подгруппу. Величины этой
3-й
подгруппы
функции ,
но
оказывают
в
влияние
формуле(1)
они
на колебания
не
отражены.
Поэтому они оказывают случайные воздействия на
колебания
функции.
Наиболее надёжным уравнением считается такое
уравнение
когда
представляют
те
максимально
1-ю
подгруппу
аргументы,
мощными
по
которые
силе
количество
принадлежит
контролируемой подгруппе аргументов.
18
являются
воздействия
функцию, а из оставшихся аргументов
большее
аргументов
на
возможно
ко
2-й
После того как выявят достаточную силу связи
между функцией и её
этапу
аргументами
построения
переходят
конкретного
к
вида
производственной функции и к её использованию в
управлении.
Пусть, например, изучается зависимость Y от m
факторов
X 1 ,…,X m .
Предположим,далее,
что
зависимость является линейной , то есть , что
^
Y =a 0 +a 1 X 1 +…+a m X m (m  1 ).
Для оценки неизвестных значений параметров :
a 0 ,…,a m
необходимо
провести
n
наблюдений(опытов).
Причём , n  m .
Пусть, далее, эти опыты проведены и получена
матрица наблюдений.
Y 1

 Y2
 ...

Y
 n
X 11
X 21
...
X n1
... X 1m 

... X 2 m 
;
... ... 

... X nm 
Здесь
X ij - значение
аргумента
X j при
i-м
опыте(i=1,2,…,n);
Далее, введём обозначения:
 1 X 11

 1 X 21
X=  . . .
.
.

 1 X n1

X 12
X 22
.
.
X n2
X 1m 
... X 2 m 

.
. 
.
. 

... X nm 
...
 Y1^ 
 ^
^
Y
Y =  2   ... 
Y ^ 
 n
;
вектор-столбец
расчётных значений функции в опытах;
19
 Y1 
 
Y
Y=  2  -вектор-столбец
...
 
Y 
 n
фактических
значений
функции в проведенных опытах.
Тогда неизвестные
a 0 ,a 1 ,…,a m
значения
можно найти с
параметров
помощью
:
следующей
^
матричной формулы: Y =Xa, (2)
 a0 
 
a
a=  1 
...
 
a 
 m
где
искомых
-вектор-столбец
коэффициентов математической
функции (1).
Из
формулы (2) следует формула (3):
T
1
T
^
a=(X X) (X Y )
(3)
При этом если аргументы X 1 ,…X m независимые, то
определитель
T
матрицы | X X|  0 . Тогда
,очевидно,
эта матрица будет иметь обратную матрицу. Методы
же
вычисления
обратных
матриц
имеются
в
литературе. В этом случае оценки для параметров
a 0 ,…,a m
c помощью формулы (3) будут точными и
достаточно надёжнывми| 18 |.
1.3. БАЛАНСОВЫЕ
В
давно
МОДЕЛИ В ЭКОНОМИКЕ.
экономическом
анализе
используются
математические
модели.
20
и
планировании
балансовые
экономико-
Балансовая
статическая
модель
в матричной форме выглядит следующим
образом/9/
:
AX + Y=X
 a11 a12

a
a
A=   ...21 ...22

 an1 an 2

(1)/
... a1n 

... a2 n 
... ... 

.. ann 
- матрица коэффициентов прямых
материальных затрат;
a ij - прямые
затраты
в
денежном
выражении
продукции i- го вида на 1 рубль продукции j-го вида
(i=1,2,…,n; j=1,2,…,n);
 X1 
 
X
X=  2  ;
...
 
X 
 n
в
X - валовый выпуск продукции j-го вида
j
денежном
выражении
в
изучаемом
периоде
времени(j=1,2,…n).
Y i - объём производства в денежном выражении
конечной продукции в i-й отрасли (i=1,2,…,n);
 Y1 
 
Y
Y=  2  ...
 
Y 
 n
В
вектор-столбец конечной продукции.
формуле (1)
известными являются: A, Y.
Неизвестным считается только вектор-столбец X.
Уравнение (1) можно записать :
1
X=(E-A) Y.
(2).
Где E-единичная матрица n- го порядка;
21
1
матрица
B=(E-A) -
полных
потребностей
в
продукции соответствующих отраслей;
C=(B-E) - матрица полных материальных затрат на
1 рубль продукции в соответствующих отраслях.
Далее,
для
имеются
поиска
численные
решения
уравнения
методы, принадлежащие
(1)
к
методам вычислительной математики .
Описанные же
в
современной
экономико-
матиматической
литературе сетевые модели
многих случаях
могут быть решены с помощью
методов
математического
во
программирования.
Поэтому описывать этот класс моделей в данной
работе вряд ли целесообразно.
ГЛАВА 2.
ИТЕРАЦИОННЫЙ
МЕТОД
ОБРАЩЕНИЯ
МАТРИЦ.
В этой главе
работы
рассмотрена
проблема обращения
матриц
больших размерностей. Предложен также эффективный итерационный
численный
метод
обращения
любых
матриц
с вещественными
элементами и с определителем отличным от нуля .
Доказана также сходимость предлагаемого метода. Приведен пример
обращения матриц.
В современных условиях применения прикладной
математики
линейных
нередко
приходится
решать
системы
уравнений очень большой размерности ,
22
например, при
балансовых
при
нахождении
решений
экономико-математических
поиске
решений
некоторых
линейных
моделей
сложных
и
задач
математической физики/ 2;3;7/. Нетрудно видеть, что
процесс
поиска
уравнений
матриц.
решений
систем
линейных
тесно связан с процессом обращения
Если
коэффициентов
известна
системы
обратная
линейных
матрица
уравнений,
то
решение этой системы легко можно будет получить.
Метод
можно
обращения матриц больших размерностей
также
использовать при поиске решений
сложных задач математического программирования.
Однако
анализе
при
использовании
балансовых
математических
в
экономическом
линейных
экономико-
моделей часто требуется находить
не только решения этих систем, но и обращать
матрицы больших размерностей/ 9 /.
подобных
случаях
при
математического
корректировать
В этих
выполнении
анализа
матрицу
часто
прямых
и
экономикоприходится
материальных
затрат и, соответственно, вычислять
обратные
матрицы
с
учётом
результатов
корректировок.
Используемый
в
настоящее
время
в
вычислительной практике итерационный метод / 2;
3;17 / применим лишь тогда, когда первоначальное
23
приближение
избрано
для
искомой
достаточно
обратной
близко.
матрицы
Поэтому
здесь
предложен новый
достаточно эффективный численный итерационный
метод обращения матриц , полученный на основе
улучшения
созданного
описанного
в
работе / 15 /.
метод/19/ наиболее
проведения
силу
мной
ранее
метода,
Предлагаемый
целесообразно
применять
экономико-математического
того , что
он
позволяет
здесь
для
анализа
в
использовать
результаты предыдущих
обращений
матриц, возникающих
при
проведении
анализа.
ОПИСАНИЕ МЕТОДА.
Пусть
A
–
произвольная
квадратная
невырожденная
матрица с конечными вещественными элементами.
1
Требуется вычислить А .
Рассмотрим
вначале
матрицу
T
B=A A, где
T
A -
транспонированная матрица. Известно, что матрица
В
будет
симметрической
определённой
которой
i
матрицей,
для
положительнособственных
выполнятся неравенства : o  1  2  …
где n- число строк (столбцов)
чисел
 n ,
в матрице А. Пусть
||B|| - какая-либо легко вычисляемая норма матрицы
В.
24
Обозначим через
Рассмотрим , далее, новую
 =||B||.
матрицу C=B/  . Собственные
числа
этой новой
i
матрицы будут удовлетворять неравенствам:
o  1  …  n  1 . Очевидно, что С=Е-(Е-С)=Е-D, где D=E-C.
Здесь Е- единичная матрица.
числа
0i
Собственные
симметрической матрицы D
будут удовлетворять неравенству :
о  0i  1 ,
i  1,2,…,n.
(1)
1
1
Следовательно, , C =(E-D) .
случаях матрица (E-D)
1
Известно, что в таких
может быть представлена в
виде бесконечного сходящегося
1
то
матричного ряда ,
2
есть (E-D) =E+D+D + …. Отсюда следует , что
1
C тоже будет симметрической матрицей.
Однако
непосредственное
матричного
матрицы C
даёт
ряда
1
для
использование этого
приближённого
вычисления
весьма не эффективно, ибо ряд
возможности использовать уже
не
полученные
другими методами приближённые значения матрицы
C
1
для
последующих
целесообразно
улучшений.
использовать
Поэтому
следующую
рекуррентную формулу для
обращения матриц типа матрицы С. Эта формула
имеет вид:
X i1 =DX i +E ,
25
i  0,1,2,…,..
(2)
1
Подставив вместо X i1 и X i матрицу (E-D) , получим
1
тождество:
Далее,
1
(E-D) =D(E-D) +E.
докажем
(3)
сходимость
предлагаемого
итерационного метода.
ТЕОРЕМА. Последовательность матриц X 0 ,X 1 ,X 2 ,..
получаемых
с
помощью
сходиться к матрице (E-D)
1
формулы (2)
будет
при любой начальной
матрице X 0 с конечными вещественными элементами.
ДОКАЗАТЕЛЬСТВО.
квадратная
Пусть
X0
произвольная
-
матрица с конечными вещественными
элементами с числом строк , равным n.
1
X 0 =(E-D) +  ;
где
какая-то
-
неизвестная
матрица,
характеризующаяотклонение избранной матрицы X 0
1
от искомой матрицы (E-D) .
C
использованием
формул
(2)
и
(3)
последовательность матриц X 0 ,X 1 ,…,X k ,..
может быть представлена следующим образом :
1
1
X 1 =DX 0 +E=D((E-D) + ) +E=(E-D) + D  ;
1
X 2 =(E-D) +D
2

;
……………………………………………………..
1
X k =(E-D) +D
Поскольку
k
;
собственные
числа
симметрической
матрицы D удовлетворяют условию (1) , то очевидно,
26
что
lim
||D
k
 ||=0
при k   при любой матрице

с конечными вещественными элементами.
Поэтому
lim X k =(E-D)
1
при любой начальной матрице
X 0 при k   . Таким образом теорема доказана.
Нетрудно видеть, что чем ближе избранная матрица
к
X0
искомой
норма
матрицы
быстрее
1
матрице
к
ближе
будет
нулю
и , следовательно,
сходимость
вычислительного

будет
(E-D) , тем
процесса.
Таким образом,
используя
1
вычислить
1
(E-D) или C
формулу (2)
можно
с какой угодно заданной
точностью при любой начальной матрице X 0 .
После
нахождения
матрицы
C
вычислить матрицу B и, наконец,
1
A .
С этой
целью
1
легко
искомую матрицу
воспользуемся
1
можно
следующими
1
формулами : C=B/||B|| откуда B =C /||B|| или
T
1
(A A) =B
1
1
T
1
или A (A ) =B
Вычислением
завершается
1
матрицы
1
1
T
или A =B A .
A
процесс поиска
1
по
(4)
формуле (4)
искомой
обратной
матрицы. Далее, рассмотрим численный пример.
27
ЧИСЛЕННЫЙ
Пусть
имеется
Очевидно,
равен
ПРИМЕР.
некоторая
что
1
А .
 1 1
;

3


матрица
A=  2
|A|  0 (Определитель матрицы
нулю.). Требуется
матрицу
.
С
этой
вычислить
не
обратную
целью
рассмотрим
новую
= 
||B||=max(12;17)=17.
T
матрицу B=A A
B= 
1 2   1 1
 

1
3
2
3



7
 ;
7
10


C=B/17= 
5
0,294 0,412 
 ;
 0,412 0,588 
В
качестве
матрицу
матрицы
0,706  0,412 
 ;
  0,412 0,412 
D=E-C= 
X 0 можно
размерности
2х2
взять
с
любую
конечными
вещественными
элементами.
искомой
Однако чем
ближе
матрица
1
матрице
C ,
последовательность
матриц
тем
,
X0
быстрее
получаемая
помощью
1
формулы (2), сойдётся к искомой матрице C .
Положим теперь
Тогда
 186  130 
 .
  130 93 
X 0 = 
 130,096 
 185,6
;
92,88 
  130,096
X 1 =DX 0 +E= 
 0,706  0,412 
185,6
 130,096 
 +E=
X 2 =DX 1 +E=   0,412 0,412  
92,88 

   130,096


28
к
с
185,632  130,109 
;
92,86 
  130,066
= 
185,643  130,115 
 ;
  130,067 92,863 
X 3 =DX 2 +E= 
Поскольку X 2 и X 3 отличаются незначительно, то
в
качестве
приближённого
можно
брать
10,92  7,654 
 ;
  7,651 5,462 
В =C /17= 
1
1
A= 
1 1
 ;
 2 3
значения
Х3.
Тогда
С
1
матрица
3,264  1,126 
 ;
  2,189 1,084 
A =B A = 
1
1
T
1,075  0,042 

1,0 
  0,039
AA = 
1
матрицы
;
 0,075 0,042 
.
0 
 0,039
Далее, рассмотрим матрицу М=E-AA = 
1
Сумма
абсолютных
значений
элементов
матрицы равна 0,156. Очевидно, что когда
вычислена точно , то
нулю. Если же
начальное
следующее
B
1
эта
сумма
X0,
то
A
1
будет
будет равной
в качестве матрицы С
приближение
этой
1
возьмём
выполнится
условие:
 10,941  7,647

=X 0 /17=   7,647 5,470




;


1
1
T
 3,294  1,059 
 ;
  2,177 1,116 
Тогда выполнится: A =B A = 
AA
1
 1,117 0,057 

= 
 0,057 1,23 
и матрица M=E-AA
29
1
  0,117  0,057 
=   0,057  0,23  .




Сумма
абсолютных
матрицы M
значений
элементов
этой
равна 0,461.
ЗАКЛЮЧЕНИЕ.
Таким образом , даже за три итерации удалось
вышеназванную
сумму
раза и получить
уменьшить
почти
в
три
достаточно хорошее приближение
1
для искомой матрицы A .
ГЛАВА 3.
ИТЕРАЦИОННЫЙ ЧИСЛЕННЫЙ МЕТОД ПОИСКА
ВСЕХ
КОРНЕЙ
АЛГЕБРАИЧЕСКИХ УРАПВНЕНИЙ
ВЫСОКИХ СТЕПЕНЕЙ.
В этой главе
работы описан новый итерационный численный метод поиска
всех корней алгебраических уравнений высоких степеней. Он основан на
использовании
принципа
разложения
многочлена
на
множители
и
идей
сеточного метода , который успешно используется при решении сложных задач
матемтической
физики. Этот
метод
отличается
существующих в настоящее время для решения
он практически
одинаково
от
других
методов ,
названной проблемы тем , что
надёжно и эффективно может
быть использован
для поиска всех видов корней : действительных или комплексных, близких или
различных корней. Однако на практике этот метод целесообразно использовать
для поиска корней уравнений достаточно высоких степеней , в особенности,
поиска
всех
собственных
действительными элементами.
чисел
матриц
больших
для
размерностей
с
Метод проверен с помощью решения примера.
ВВЕДЕНИЕ.
При вычислении темпов роста членов динамических рядов
данных
в
экономике, социологии, естественных
технике и при нахождении
собственных
30
значений
науках,
матриц
больших
размерностей часто приходится
находить
корни
уравнений с одним неизвестным очень высоких степеней
/ 1 ; 2 ; 3 /.
Кроме того, с целью повышения качества результатов
анализа динамических рядов часто придется из множества
действительных корней выбирать один наилучший корень.
Собственные числа матриц больших размерностей могут быть
также использованы в межотраслевом экономическом анализе.
Существующие в настоящее время методы решения
такого вида задач могут оказаться на практике весьма
неэффективными.
Это особенно проявляется при
поиске
комплексных, а также близких или равных действительных
корней.
метода
Для предлагаемого же в этой работе численного
наличие
действительных
комплексных, близких
корней
применения
для
не снижает
или даже
равных
эффективности
поиска
всех
его
корней
алгебраических многочленов высоких степеней.
ОПИСАНИЕ ПРОБЛЕМЫ
Далее, рассмотрим алгебраическое уравнение
произвольной (
n  2)
-й
степени (
n  2)
коэффициентом равным единице и при
 n2
+
1  n 1
Если же
+…+ n1  + n2 =0
n 2
=0 , то
уравнения можно
со старшим
n 2  0 :
(1) .
степень рассматриваемого
уменьшить. Причем, в новом
уравнении самый младший коэффициент уже
31
не будет
равным нулю.
Коэффициенты этого уравнения полагаем равными
произвольным действительным числам. Известно, что
это уравнение имеет (
n +2)
неравных нулю корней,
среди которых могут быть комплексно-сопряженные
числа. Кроме того, известно также, что корни этого
уравнения будут собственными значениями матрицы

( и всех подобных ей матриц)/2 ;3/:
  1
 1

 = .. 0

 ...
 0
 2
0
1
...
0
...  n 1
...
0
...
0
...
...
...
1
 n  2 
0 
0 

... 
0 
В результате применения , описанного ниже алгоритма ,
можно будет для целей анализа построить другую
квадратную матрицу
значения
0
порядка ( n +2) . собственные
которой будут полностью совпадать с
собственными значениями матрицы
.
Эта матрица
будет иметь весьма простую блочно-диагональную
структуру :
o =
 a1(1)

 1
 0

 0
 0

 0
 0

 0

 ...
 0
 a 2(1)
0
0
0
0
0
... 0
0
0
0
0
0
0
... 0
0
0
0
a
1
0
a
0
0
0
0
 a1( 3)
0
0
 a 2(3)
0
0
0
... 0
... 0
... 0
0
0
0
1
0
0
... 0
0
0
0
0
0
 a1( 4)
... 0
0
...
0
...
0
...
0
...
0
...
1
...
... 0
... ...
0
0
0
0
0
0
... 1
( 2)
1
( 2)
2
32
0

0
0

0
0

0
0

0

...
0 
;
o
a1(1) , a2(1)
, a1( 2) , a 2( 2) ,…. - коэффициенты соответствующих
выделяемых многочленов. Нетрудно доказать, что
B0
B
и
подобные матрицы . В этой блочно-диагональной
матрице полностью представлены только три
соответствующих трем
блока,
выделяемым квадратным
множителям рассматриваемого уравнения (1). Остальные
диагональные блоки могут быть представлены в блочнодиагональной матрице
0
аналогично.
Левую часть уравнения (1) можно записать так:
f(  )=  n 2 +
1  n 1
+…+
n 1 
+ n2 ; (2)
Все корни уравнения (1) удовлетворяют условию :
||

1+ max | i | ; (3).
1 i  n  2
Обозначим
1
=1+ max | i | .
1 i  n  2
положительное число
1
Таким образом,
является верхней границей для
модулей всех корней уравнения (1). Следует отметить тот
факт , что эта граница часто будет весьма завышенной. В
алгебре имеются различные способы для вычисления
более точной оценки модулей корней многочленов.
Например, в некоторых случаях замена переменной X по
формуле Y=X/2 может позволить найти более точную
оценку верхней границы модулей всех корней уравнения
(1).
Далее, если же все коэффициенты уравнения (1) строго
положительны и все отношения
i / i 1
последующего
коэффициента к предыдущему заключены между
33
положительными числами
d
и
D,
то модули корней
уравнения (1) будут удовлетворять условию:
Если среди коэффициентов
1
,
2
,…,
n 2
d |  | D .
имеются
отрицательные величины, то можно оценить верхнюю
границу как для положительных, так и для
отрицательных корней | 1 | . ( При использовании
описанного ниже алгоритма не обязательно знать
верхние границы модулей всех корней уравнения (1).
Для использования этого алгоритма достаточно знать
только верхнюю границу хотя бы двух каких-либо
действительных корней или верхнюю границу одной
какой-либо пары комплексно-сопряженных корней).
Далее, пусть каким-либо способом получена оценка
верхней границы всех корней уравнения (1). Обозначим
это число символом
   / D1 .
D1 .
Затем выполним следующее:
В результате такой замены переменных
получим вместо уравнения (1) новое уравнение (4):
 n2
+
1(1)  n 1
где
i(1)
Если
D1
+…+
n(1)2
= i / D1i ,
=0 ,
(4)
i =1,2,…, n  2 .
является верхней границей модулей всех
корней уравнения (1) , то модули всех корней уравнения
(4) не будут превосходить единицы. В противном же
случае только модули некоторой пары корней не будут
превосходить единицы. Далее , подробнее рассмотрим
уравнение (4). Напишем следующее соотношение :
 n2
+
1(1)  n 1 +…
+
n(1)2
=(  2 + a1  +
34
a 2 )(  n
+
c1  n 1
+…+ c n 1

+ cn ) ;
(5)
То есть многочлен ( n  2 )-й степени представлен в виде
произведения квадратного множителя и множителя
степени. Очевидно, что
a1 , a 2 , c1
nй
,…, cn неизвестные
действительные коэффициенты. В вычислительной
математике существуют методы выделения аналогичных
множителей. Однако в общем случае доказать их
сходимость к искомым решениям практически
невозможно | 2|. Здесь же предлагается численный метод ,
основанный на использовании идей сеточного метода/2/,
успешно применяемого при
поиске решений сложных
задач математической физики.
В данном случае
предлагаемый численный метод является весьма
надежным и всегда сходящимся. Далее, вышеописанные
неизвестные коэффициенты
a1 , a 2 , c1 ,
…, cn должны будут
удовлетворять системе равенств(6):
c1
+
a1
c2
+
a1 c1
c3
1(1)
=
=
2(1)
+ a1 c2 + a 2 c1 =
3(1)
+
a2
…………………………….
cn
+
a1 c n 1
a1 cn
+
a 2 cn
= n(1)2
+
a 2 c n 1
a 2 cn2
(6)
= n(1)
= n(1)1
Ясно , что у этой системы уравнений существует
решение. Неизвестными ее являются величины:
35
a1
,
a2
,
c1 ,…, cn
a1
,
cn
a2
. Для каждой пары заданных значений величин
, соответствующие им значения величин
c1
,
, …,
c2
определяются по формулам системы (6) однозначно.
И если значения величин
,
a1
a2
определены точно, то все
уравнения системы (6) будут удовлетворены. Нетрудно
видеть , что если все корни уравнения (1) являются
действительными и различными, то количество
различных решений системы уравнений (6) будет равно:
C n2 2
=( n  1 )( n  2 )/2.
Когда же все корни уравнения (1) являются
действительными и одинаковыми, то количество
различных решений этой системы (6) будет равно
единице. Во всех же остальных случаях количество
различных решений этой системы (6) будет заключаться
между 1 и
C n2 2
.
На основе вышеизложенного можно
построить алгоритм поиска хотя бы одного решения
системы равенств (6).
.
АЛГОРИТМ ПОИСКА РЕШЕНИЯ СИСТЕМЫ
РАВЕНСТВ (6 ).
Здесь будем исходить из того , что модули всех корней
уравнения (4) не превышают единицы. Из формул Вьета
следует, что величины
значения:
a1
a1 , a 2
=-( 1 + 2 ) ;
могут принять следующие
a2
= 1 2 , где
1
,
2
-
какие-либо корни уравнения (4), которые могут быть
даже одинаковыми действительными числами или парой
36
комплексно-сопряженных чисел. Отсюда следует, что
и
a2
- 1  a2
должны находиться в пределах:
1
.
-2  a1
2
a1
;
(7)
Рассмотрим , далее
Рис 1).
прямоугольную систему координат (
.
a1
2
-1
0
1
a2
-2
Рис. 1.
.
В заштрихованном
находиться от
прямоугольнике
одной
до
C n2 2
может
точек таких , что
каждой из них будет соответствовать свое решение
системы (6) :
a1
,
a 2 , c1
,….,
cn
.
Причем нас
всякий раз будет интересовать только одно какое-либо
из этих
решений .( В данном случае все эти решения
системы (6) являются равноценными).
Теперь
применим идею сеточного метода и опишем подробно
шаги (части) вычислительного процесса (алгоритма).
37
Для поиска
искомой точки ( a1( 0) , a 2( 0) ) , которой
соответствует решение системы (6) , проведем ( мысленно )
два семейства параллельных прямых:
a1
=-2+
;
ih
i
=0, 1, 2,…., 1 ;
a2
=-1 +j  ; j=0,1,…,  2 ;
1
-наименьшее
целое число, большее или равное дроби
2
4/ h ;
- наименьшее целое число ,
большее или равное дроби 2/  ;  , h –шаги сетки. Точки
пересечения этих прямых будут вершинами новых
более мелких прямоугольников. Таким образом,
заштрихованный прямоугольник ( Рис.1) будет
(мысленно ) разделен на прямоугольники меньших
размеров. Нетрудно видеть , что искомые точки ( a1( 0) , a 2( 0) )
будут покрыты этими малыми прямоугольниками .
Очевидно, что чем меньше шаги сетки
h
и
, тем

точнее можно будет вычислить координаты искомых
точек плоскости ( a1( 0) , a 2( 0) ), которым будут
соответствовать решения системы (6).
Отсюда
несомненно следует сходимость предлагаемого
вычислительного процесса поиска решения системы (6).
Далее , шаги вычислительного процесса (алгоритма)
поиска приближенного решения этой системы
представим ниже. Для описания этих шагов
дополнительно введем новые величины:
, L , L1 , L2 ,

h1
,
i
 1 , a1(1)
,
a2(1)
, j , .
- сколь угодно малое положительное число , которое
38
будет определяться требуемой точностью искомого
решения системы (6) ; обычно 
будет принимать
значения не больше 10 4 .
Шаг 1. Положим , что
L1 .=
( достаточно большому
10 30
числу).
Шаг 2. Положим , что
h  0,01
Шаг 3. Положим , что
  0,005
,
;
; 1 = наименьшему целому
i  0; j  0
числу , которое больше или равно дроби 4/ h ;
2
= наименьшему целому числу , которое больше или
равно дроби 2/  ;
Шаг 4 Положим , что
Шаг 5. Положим , что
a2
a1 =
-2 +
=-1 +
ih :
j ;
Шаг 6.На основе равенств системы (6) последовательно
вычислим :
3(1)
-(
a1 c2
+
c1
a 2 c1
=
1(1)
);
-
a1
;
c2
=
2(1) - a 2
-
a1 c1
;
c3
=
.
……………………………………………………………………….
cn
=
n(1)
- ( a1 c n 1 +
a 2 c n  2 ).
Затем переходим к выполнению следющего шага.
Шаг 7.Вычислим значение величины
L = | n(1)1
- ( a1 cn + a 2 c n 1 ) | + |
Эта величина
L
n(1)2
-
a 2 cn |
L
по формуле:
.
количественно характеризует степень
согласованности двух последних уравнений системы (6) в
процессе поиска решения этой системы. Очевидно , что
для точного решения этой системы (6) величина
Шаг 8. Если
L  L1
, то выполним
39
L =0.
шаг 9. В противном
случае выполним шаг 10 .
Шаг 9 . Положим
L1 = L ; a1( 0 ) = a1 ; a 2( 0 ) = a 2 .
Далее, выполним
шаг 10.
Шаг 10. Если
j  2 ,
то выполним шаг 11. В противном
случае выполним шаг 12.
Шаг 11. Увеличим значение величины
j
на единицу и
переходим к выполнению шага 5.
Шаг 12. Если
i  1 ,
то выполним шаг 13. В противном же
случае выполним шаг 14.
Шаг 13. Увеличим значение величины
j
i
на 1, а величину
положим равной нулю и переходим к выполнению
шага 4.
Шаг 14 . ( К моменту выполнения этого шага
минимальное значение величины
L
значения искомых величин
при данных значениях
величин
h
и

a1( 0 ) , a 2( 0 )
и соответствующие
будут вычислены. Полученные значения
искомых величин
a1( 0 )
и
теперь можно будет
a 2( 0 )
значительно уточнить не меняя прежних значений
величин
h
и
.
( Для этих целей можно , конечно, было
бы использовать метод Хичкока |2| . Однако в данном
случае целесообразнее применить более надежный метод
уточнения значений величин
что
h1 = h /100
;
 1 =  /100;
a1( 0 ) , a 2( 0 )
и переходим к выполнению
L2 = L1
шага 15.
Шаг 15.Положим
i  0; j  0
.
Шаг 16. Положим
a1 = a1( 0 )
h
-
) ; Положим теперь ,
+
ih1 ;
40
Шаг 17. Положим
a 2 = a 2( 0 ) -  + j 1 ;
Шаг 18. На основе равенств системы (6) последовательно
вычислим:
c1 = 1(1) - a1 ; c2 = 2(1)
-
a 2 - a1 c1 ;
c3
= 3(1) - ( a1 c2 + a 2 c1 ) ;
……………………………………………………………………
cn
=
n(1)
-
( a1 c n 1 + a 2 cn2 );
.
Шаг 19. Вычислим значение величины
L | n(1)1 - a1 cn
-
+ | n(1)2 -
a 2 c n 1 |
Шаг 20. Если
L  L1
a 2 cn |
L
по формуле:
.
, то выполним шаг 21. В противном
случае выполним шаг 22.
Шаг 21. Положим
L1
=
L
;
= a1 ;
a1(1)
a2(1)
= a 2 . Далее, выполним
шаг 22.
Шаг 22. Если
j  200
, то выполним шаг 23. В противном
случае выполним шаг 24.
Шаг 23. Увеличим значение переменной величины
j
на
единицу и выполним шаг 17.
Шаг 24. Если же
i  200
, то выполним шаг 25. В противном
случае выполним шаг 26.
Шаг 25. Увеличим значение величины
величину
j
i
на единицу , а
положим равной нулю и, далее, перейдем к
выполнению шага 16.
Шаг 26. Если же
L1  L2
, то выполним шаг 27. В
противном же случае выполним шаг 28.
Шаг 27. Положим
a1( 0 )
=
a1
(1)
; a 2( 0) = a2(1) . Далее, выполним шаг
28.
41
Шаг 28. Если же
L1  
, то выполним шаг 30. В противном
же случае выполним шаг 29.
Шаг 29. В качестве новых значений величин
и
h

возьмем соответственно их предыдущие значения ,
умноженные на некоторую величину
величины
s
s  1.
( В роли же
целесообразно брать числа:
0,9 ; 0,8 ; 0,7; 0,6 ; 0,5. Причем, если требуется , чтобы
шаги сетки
h
и
быстро уменьшались, то надо будет

брать малые числа).
Далее, переходим к
выполнению шага 3. То есть начиная с этого шага
вычислительный процесс повторится, но с новыми
уменьшенными значениями шагов сетки
h
и
.
При
этом количество вычислений с новыми шагами сетки
будет всякий раз возрастать.
Шаг 30.Этот шаг означает завершение процесса
нахождения таких значений величин:
a1 , a 2 , c1 , c2 ,
при которых рассматриваемый многочлен :
1(1)  n 1
+ …+ n(1)1  +
n(1)2
…, cn ,
 ( ) =  n  2 +
может быть представлен в виде
произведения двух других многчленов :
 n  2 + 1(1)  n 1 +…+ n(1)2
Далее, если
n  3,
=(  2 +
a1  + a 2 )(  n
+
то многочлен : (  n +
c1  n 1
+ …+ c n 1  + cn ) .
c1  n 1 +…+ c n 1  + cn )
аналогично можно будет представить в виде
произведения квадратного множителя и множителя
( n  2) -й степени. Если же
n  3,
то выделять квадратный
множитель нецелесообразно, так как корни многочленов
3 –й степени находятся легко.
42
ПРИМЕЧАНИЕ 1. В описанном выше алгоритме
отмечалось, что модули всех корней уравнения (4) не
превышают единицы. Однако нетрудно видеть, что если
известно, что абсолютные значения каких-либо двух
действительных корней уравнения (4) или модули какойлибо одной пары комплексно-сопряженных корней этого
уравнения не превосходят единицы , то им будут
соответствовать величины
a1
и
a2
,
удовлетворяющие ограничениям (7) . При этом модули
остальных корней этого уравнения (4) могут превышать
единицу. Однако даже в таких случаях применение
вышеописанного алгоритма позволит из уравнения (4)
выделить соответствующий квадратный множитель
(2+
a1 
+
a 2 ).
ЧИСЛЕННЫЙ ПРИМЕР.
Пусть имеем уравнение 5-й степени с одним
неизвестным:
Здесь , очевидно,
5
n  3.
+ 13 4 +
66 3
+ 162 2 + 188 + 80 =0 . (8)
Далее : max | i | =188 ;
i
A1 =1+188
=189
A1
- верхняя граница для модулей всех корней уравнения
(8). Однако таким способом вычисленная верхняя
граница модулей корней уравнения обычно является
весьма завышенной. Поэтому попытаемся получить
более низкую оценку верхней границы для корней
43
уравнения (8). Так как все коэффициенты уравнения
строго положительные, то имеет смысл вычислить все
отношения последующего коэффициента к предыдущему
: ( 13/1 ; 66/13 ; 162/66 ; 188/162 ; 80/188 ) . Очевидно , что
верхней границей модулей всех корней уравнения (8)
будет число 13. Поэтому выполним замену переменных
по формуле:
уравнение:
   / 13
5
80/135 =0 . или
+
4
5
+
. В результате получим новое
+ (66/ 132 )  3 + (162/ 133 )  2 + ( 188/134 )  +
4
+ 0,3905  3 + 0,07374  2 + 0,006582 
+0,0002155 =0. (9)
Модули всех корней уравнения (9) не будут превышать
единицы. Далее, запишем следующее: (  2 +
c1  2
+ c2  + c3 )=  5 +
0,006582  +0,0002155 ;
a1 
+ a 2 )(  3 +
+  4 + 0,3905  3 + 0,07374  2 +
(10)
Далее, составим систему уравнений типа системы (6)
для поиска неизвестных значений параметров:
c3 .
c1
a1 , a 2 , c1 , c2
,
Эта система уравнений будет иметь следующий вид:
+
a1 =
1
c2 + a1 c1 + a 2 =0,3905
c3
+
a1 c2 + a 2 c1 =0,07374
(11)
a1 c3 + a 2 c2 =0,006582
a 2 c3
= 0,0002155 .
Применим теперь вышеописанный алгоритм для поиска
хотя бы одного решения системы уравнений (11). С
этой целью положим:
h  0,01
44
;
  0,005 ;
При
i  223
и
j  202
0,23 ;
получим :
a2 =
a1 =-2+
-1 + 202*0,005=0,01. На основе равенств (11)
последовательно вычислим:
c3 =0,01926
. Величина
значений данной
параметров
a 2( 0 ) =0,01.
a1
и
a2
L=
– 0,23=0,77 ;
c2 =0,2034
;
Это одно из лучших
величины L . Оптимальные значения
соответственно будут :
a1( 0 ) =0,23
;
Далее, сделаем попытку уточнить их значения.
=  / 100 =0,00005. При
a 2 =0,01185.
;
c1 =1
0,00014 .
С этой целью положим:
1
223/100=
i  107
Величины же
c3 =0,01821; L =
h1
0,0000028.
= h / 100 =0,0001 и
и
j  137
c1 =1-
получим :
0,2307 = 0,7693 ;
a1 =0,2307
;
c2 =0,20175
В этом случае величина
L
значительно уменьшилась. А именно: была равной числу
0,00014 , а стала равной числу 0,0000028.
Далее, можно было бы повторить вычислительный
процесс с другими значениями шагов сетки
h
и
.
Однако при  = 10 4 вычислительный процесс надо будет
завершить, так как нашли уже достаточно хорошее
решение. В результате решения примера получим
следующее разложение многочлена 5-й степени :
5
+
4+
0,3905  3 + 0,07374  2 + 0,006582  +0,0002155  (  2 +
0,2307  +0,01185)(  3 + 0,7693  2 + 0,20175  + 0,01821) .
Теперь вспомним , что ранее была выполнена замена
переменных:
   / 13 .
Поэтому для корней уравнения (8)
с учетом округлений должно выполняться следующее:
(  2 + 13*0,2307  + 132 *0,01185 )(
3 +
13*0,7693  2 + 132 *0,20175  + 133 *0,01821) =(  2 +
45
2,9991  +2,00265)(  3 +10  2 + 34  +40)   5 + 13  4 + 66  3 +
162  2 +
+ 188  +80;
Или с учетом дополнительных округлений будем иметь
следующее:
( 2+
3  +2)(  3 +10  2 +34  +40)=  5 +13  4 +66  3 +162  2 + 188  +80.
Далее, нетрудно найти все корни уравнения (8):
 1 =-1
;
 2 =-2
;
3
= -4 ;
4
=-3 +
1
;
5
= -3 -
1 ;
ЗАКЛЮЧЕНИЕ.
Нетрудно видеть, что предлагаемый в этой статье
численный метод является весьма надежным и
достаточно эффективным.
46
ГЛАВА 4.
ИТЕРАЦИОННЫЙ ЧИСЛЕННЫЙ МЕТОД ПОИСКА
ЧАСТИЧНО-ЦЕЛОЧИСЛЕННЫВХ
РЕШЕНИЙ
ЭКОНОМИЧЕСКИХ ЗАДАЧ ЛИНЕЙНОГО
ПРОГРАММИРОВАНИЯ.
В
данном разделе описан
итерационный численный метод поиска
оптимальных решений задач линейного
программирования (ЗЛП) больших
размерностей с целочисленными и нецелочисленными переменными . Метод
проверен
с помощью решения
примеров.
Он базируется
симплексного метода, а на достижениях теории матриц
методов.
не на идеях
и итерационных
Однако его целесообразно использовать в вычислительной практике
только при наличии самых современных очень быстродействующих ЭВМ с
большой оперативной памятью.
Рассмотрим задачу линейного программирования (ЗЛП)
в общем виде(каноническая форма записи) / 12; 13/.
Найти
X 1 ,X 2 ,…,X n ,
при которых
n
P=  Pj X j  max
J 1
при
n
a
j 1
ij
Xj
условиях:
=b i ,i=1,2,…,m; (1)
X j  0, j=1,2,…, n ; (2)
Дополрительное ограничение--X j -- целые числа при всех j
 M,
47
где
M --множество номеров целочисленных переменных.
Это множество может быть даже пустым. или содержать
номера всех переменных решаемой задачи.
Для
предлагаемого метода поиска решения ЗЛП это
не
существенно.
Предположим теперь . что эта ЗЛП с учетом
дополнительного ограничения имеет оптимальное
решение.
После этого рассмотрим численный метод
поиска этого в общем случае частично - целочисленного
решения ЗЛП.
Далее, сделаем еще одно предположение ,что этому
оптимальному решению соответствует величина P max -максимальное значение
задачи
критериальной функции этой
, точное численное значение которой
нам
известно.
Далее, напишем следующие формулы :
AX= b ;
где
 a11
a
A=  21
 ...

a m1
a12
a 22
...
am2
... a1n 
... a 2 n 
... ... 

... a mn 
(3)
--матрица коэффициентов
системы(1).
b
 b1 
 
b
=  2 
.
 
b 
 m
--вектор-столбец свободных членов системы (1);
48
X1 
 
X
X=  2 
.
 
X 
 n
T
A =
--вектор-столбец искомых переменных ЗЛП.
a11
a12
a 21 ... a m1
a 22 ... a m 2
...
a1n
...
a2n
... ...
... a mn
--транспонированная матрица
размерности -- n  m
Д алее, в
равенстве (3) выполним умножение на
матрицу A T и получим:
(4)
A T AX=A T b
или
BX=d
(5) , где B—
симметрическая матрица размерности n  n; d—
преобразованный вектор-столбец свободных членов ЗЛП.
d T =( d 1 ,d 2 ,…,d n ).
Очевидно, что любое решение ЗЛП , расматриваеммой
выше, будет в тоже время и решением системы (5).
Запишем (5) в нематричной форме :
b 11 X 1 +b
X 2 +…+b 1n X n =d 1 :
12
………………:……………..:…..(6)
b n1 X 1 +b n 2 X 2 + … +
b nn X n =d n :
Добавим теперь к этой системе (6) новое равенство:
P 1 X 1 +P 2 X 2 +…+P n X n =P max .
Получим новую систему (7):
n
 b X =d ; i=1,2,…,n ;
j 1
j
ij
i
n
 P X =P
j 1
j
j
max
49
Численное значение P max предполагаем известным..
Очевидно, что системе равенств (7) уже не будут
удовлетворять все
решения рассматриваемой ЗЛП.
Однако оптимальное частично - целочисленное решение
рассматриваемой ЗЛП будет удовлетворять системе (7).
Далее , возникает проблема: как
найти это
оптимальное решение ЗЛП.
В матрично-векторной форме система (7) может быть
записана следующим образом:
B 0 X=d 0 : (8)
Здесь
b11
 ...
B0=
bn1

 P1
b12
...
bn 2
P2
... b1n 
... ... 
... bnn 

... Pn 
 d 
 . 
d 0 =   --вектор-столбец
 dn 
 Pmax 
-- матрица размерности (n+1)  n.
свободных членов задачи.
T
Далее, умножим обе части равенства (8) на матрицу B 0
и получим формулы.
B T0 B 0 X=B T0 d 0 .
или DX=C
(9)
где D=B T0 B 0 ;
C=B T0 d 0 .
D—симметрическая матрица размерности n  n. ; C—
вектор-столбец
cвободных членов .
Матрица D имеет действительные собственные значения.
50
В силу известной формулы Бине—Коши
определитель /D/ в таких случаях почти
всегда будет
неравным нулю /5 /. Далее, нетрудно видеть , что
оптимальное решение ЗЛП
будет удовлетворять
равенству (9). И поскольку /D/ не равен нулю . то
выполнится
равенство (10);
X=D 1 C (10).
Причем, для нахождения D
1
можно использовать
итерационные методы , которые являются наиболее
эффективными в случае обращения матриц больших
размерностей / 19 /. Таким образом , это оптимальное
решение X будет единственным решением равенства (9) ,
которое получено с помощью формулы (10) .
В тех же весьма редких случаях , когда определитель
/D / может оказаться близким или даже равным нулю ,
матрицу D 1 получить будет невозможно.
Такие
случаи для предлагаемого метода решения
целочисленных задач линейного программирования (ЗЛП)
будут особыми. Подобные особые случаи имеют место
почти для всех методов математического
программирования.
При появлении подобных
случаев в данном методе предлагается выполнить
следующее:
Во-первых, незначительно изменив значения некоторых
постоянных величин решаемой задачи можно достигнуть
того, что откорректированная матрица D будет иметь
51
определитель /D / неравный нулю.
,
Во- вторых , можно избрать и другой путь поиска
решения рассматриваемой ЗЛП.
А именно: не делать
корректировок постоянных величин задачи., но зато
находить вектор-столбец X
с помощью следующей
приближенной формулы:
X=(D+ E ) 1 C : (11).
Здесь--  --сколь угодно малое положительное число.
Далее, в расчетах
вместо
матрицы D надо будет
использовать матрицу (D+ E ) ,
E—единичная
матрица
52
Оценки для X в таких случаях обычно называют
гребневыми . Решение, полученное с
помощью
формулы (11) будет единственным и при
соответствующем выборе значения  , будет незначительно
отличаться от искомого частично - целочисленного
решения ЗЛП , соответствующего известному значению
критериальной функции.
Предположим теперь , что точное значение величины
P max нам неизвестно. Однако ЗЛП , как правило, являются
моделями соответствующих экономических задач .
Поэтому приближенно можно, почти всегда, оценить
интервал, который содержит точное значение величины
P max . Например, верхнюю границу P (1) для критериальной
функции ЗЛП можно найти с помощью использования
симплексного метода без учета требования
целочисленности всех
или
переменных решаемой ЗЛП.
другим
только некоторых
Или это можно сделать
каким-либо способом. Нижняя
критериальной функции ЗЛП P (0)
граница для
находится
аналогично.
ВЫЧИСЛИТЕЛЬНЫЙ ПРОЦЕСС ПОИСКА
ЦЕЛОЧИСЛЕННОГО РЕШЕНИЯ ЗЛП.
Этот процесс
шаги.
можно
разделить на части , то есть
Далее, опишем эти шаги. С этой целью введем
новые величины , которые будут участвовать в процессе
53
вычислений : p, p 0 , N, N 1 , i , j ,
 , 1 ,  2 ,  3 ,
вектор-столбцы
X 0 , X (0) , и так далее.
Шаг 1. Положим , что X
( 0)
=0 ; N 1 =-10 30 ; p=100; Положим
p 0 равным достаточно большому числу , которое определит
количество итераций вычислительного процесса ( например,
положим , что p 0 =10000).
Шаг 2. Вычислим /D / , той матрицы , которая
используется в равенстве ( 9).
Шаг 3. Если /D / не равен нулю, то надо выполнить шаг
6. В противном же случае надо выполнить шаг 4.
Шаг 4. С помощью сколь угодно малых изменений
постоянных величин решаемой ЗЛП попытаемся
получить такую матрицу D, что определитель ее станет
отличным от нуля. Затем переходим к выполнению шага
6. Или не будем менять значения постоянных величин
этой задачи , но зато выполним шаг 5.
. Шаг 5. Вместо D в
равенстве (9) будем
использовать
матрицу (D+  E) где  - сколь угодно малое
положительное число. Меняя значения этой величины
можно достигнуть того , что определитель
/( D+  E)/ будет
отличным от нуля. Затем надо будет выполнить
Шаг 6. Положим
шаг 6.
i = 0; h = (P (1) -- P (0) )/p; положим , что
вектор-столбец X 0 =0.
Шаг7. Увеличим значение величины i на 1
и проверим
условие: если P (1) -- hi  P (0) , то выполним шаг 8. В
противном же случае выполним шаг19.
54
Шаг 8. В вектор-столбце d 0 последнюю компоненту
изменим положив её
значение равным (P (1) --hi). Далее,
выполним шаг 9.
Шаг 9. Вычислим теперь новые
C по
формуле :
значения для вектора
T
C=B 0 d 0
Ш аг 10. Вычислим теперь
X
по формуле : X=D 1 C.
Далее переходим к выполнению следующего шага.
Шаг 11. На
этом
шаге осуществляется оценка качества
вектора X , полученного в данный момент
вычислительного процесса . Если выполняется
неравенство : / X j /   1 при
всех
j  M 1 ( M 1 - множество
номеров отрицательных компонент вектора X ; 1 - сколь
угодно малое попложительное число), то выполним шаг
12. В противном же случае надо будет выполнить шаг 7.
Шаг12. Положим теперь X j =0 для всех j  M 1 .
Шаг13. Выполним теперь округление значений всех
целочисленных компонент
вектора X до ближайшихъ
целых чисел по правилам округления.
Шаг 14. На этом шаге проверяется выполнимость
условий решаемой ЗЛП с помощью
формулы:
n
/  aij X j -j 1
b i /   2 ; i=1,2,…,m.
2-
сколь
угодно малое положительное число. Если это неравенство
выполняется , то надо будет выполнить шаг 15. В
противном же случае надо будет выполнить шаг 7.
55
n
.Шаг 15. Вычислим теперь величину P 0 =  Pj X j
и
j 1
положим X 0 = X; N=P 0 .
/Шаг 16. Если /N 1 - N /
 3
, то
надо выполнить
шаг 20. В
противном же случае надо будет выполнить шаг 17.
Шаг 17 . Если N  N1 , то надо выполнить шаг 18. В
противном же случае надо будет выполнить шаг 19.
0
Шаг 18 . Положим теперь N 1 =N и X = X 0 . Далее, надо
будет выполнить шаг 19.
Шаг 19. Увеличим теперь величину p в два раза или
только в полтара раза увеличим эту величину. И если
p  p0 , то выполним шаг 6. В противном же случае надо
будет выполнить шаг 20.
0
Шаг 20. Если X =0, то решение не получено за число
итераций определяемых величиной p 0 . В противном же
случае искомое решение
ЗЛП будет определяться вектор-
0
столбцом X и ему будет соответствовать значение
критериальной функции равное величине
решение можно
N 1 . Дальше
значительно улучшить повторив
вычислительный процесс с новыми более точными
границами : P (0) , P (1) .
ЧИСЛЕННЫЙ пример.
Требуется решить
Найти.
X1 , X 2 , X
функция:
следующую ЗЛП.
3
при которых критериальная
P= 5X 1 +4X 2 + X 3
56
 max
при условиях :
2X 1 + X 2 + X 3 =6
X
1
+ X 2 + 2X 3 =7
X 1  0, X 2  0
X3 0 .
Дополнительное ограничение : все
переменные величины
должны быть целыми числами . Очевидно , это есть ЗЛП
с целочисленными переменными.
Нетрудно видеть , что
максимальное значение критериальной функции этой
задачи без учета требования целочисленности её
переменных не будет превосходить 22. Далее , выполним
следующие действия :
B= A A=
T
5 3 4
3 2 3

4 3 5








;
d=
 19 
 
 13 
 20 
 
Система условий (5) в данном случае будет иметь вид :
5 3 4

3 2 3
4 3 5




  X1 


X


2


  X 3 


 19 
 
=  13 
 20 
 
Или в нематричном виде :
5X 1 + 3X 2 + 4X 3 =19
3X 1 + 2X 2 + 3X 3 =13
4X 1 + 3X 2 + 5X 3 =20
Добавим теперь к этой системе условий новое равенство :
5X 1 + 4X 2 + X 3 =P max
P max --максимальное значение критериальной функции
решаемой здесь задачи. Предполагаем , что точное значение
57
;
этой величины заранее нам неизвестно.
Эту систему из четырёх равенст можно записать в
матричной форме.
B 0 X= d 0 .
B0
5

3
= 
4

5

3 4
2 3
3 5
4 1



;



d0=
 19

 13
 20

P
 max







; D=B T0 B 0
 75 53 54

53 38 37
= 
54 37 51






.



Для всех допустимых решений рассматриваемой задачи
должно выполняться равенство :
DX=C, где :
С=
 5 3 4 5   19

 
 3 2 3 4   13
 4 3 5 1   20

 

 P

  max







=
 214  5Pmax

 143  4 Pmax
 216  P
max



Так как определитель / D /
столбец искомых величин
следующей







;
не равен нулю , то векторможно найти с помощью
формулы :
X= D 1 C.
1
Далее, вычислим элементы матрицы D . Они будут
иметь вид:
 1,436732  1,780134  0,229777

 1,780134 2,295867
0,219207
1
D = 
 0,229777 0,219207
0,1039








;
Теперь кратко опишем процесс поиска оптимального
целочисленного решения рассматриваемой
Положим , что P max = 22 .
Тогда :
58
нами ЗЛП.
 324 


 231 
C=  
237






; X=
  0,167 


 5,508 
  0,81 






;
Полученное решение не будет допустимым для данной
ЗЛП.
Положим
Тогда
теперь P max .=21,5
C=
 321,5 


 229 
 236,5 






;
 0,09 


 5,3 
X=  
0,9






;
Выполним округление до ближайших целых чисел и
получим :
(0)
X =
 0 
 
 5,0 
 1 
 
 
 
;
Это решение целочисленное и полностью удовлетворяет
всем
ограничениям решаемой задачи.
Ему соответствует
значение критериальной функции , равное 21. Положив ,
далее, P max равным таким значениям как 21,4; 21,3 ; 21 ,1
и т.д. нетрудно убедиться, что 21 – есть максимальное
значение
Положим тепеьрь P max =16. после этого получим :
 0,83 


 2,53 
X=  
1,82






$=;
59
После
1
 
3
( 0)
X =   ;
2
 
 
 
округления получим
Очевидно, это решение не
удовлетворяет ограничениям
решаемой задачи и поэтому должно быть отброшено.
Положим теперь P max = 15. Тогда будет следующее:
.
 289 


 203 
C=   ;
230






 0,98 


 2,0 
X=   ;
2,0






После округления получим
получим
1
 
2
( 0)
X =   ;
2
 
 
 
Этот
вектор-столбеуц удовлетворяет всем ограничениям задачи
и ему соответствует значение критериальной функции ,
равное 15.
X
(0)
 0,0 
 
5
=  
1
 
 
 
Таким образом , полученное нами решение
будет оптимальным целочисленным решении
рассматриваемой нами ЗЛП и ему будет соответствовать
значение критерильной функции , равное 21.
Нетрудно видеть , что для поиска решения ЗЛП можно
использовать и симплексный
здесь формулы (9) . В
метод вместо предлагаемой
случае решения ЗЛП
небольшой
размерности он может оказаться даже более
эффективным, чем
использование формулы (9).
60
Однако
при решении ЗЛП
накопления
большой
размерности
погрешностей в вычислениях он может
выдать весьма
неточные
формулы (9)
дает
решения.
1
Использование же
возможность применить
эффективные итерационные
матрицы D
из-за
сходящиеся
методы поиска
, которые при обращении матриц
размерности , как правило , дают
результаты , чем конечные методы
более
большой
точные
/19 /.
ГЛАВА 5.
МЕТОД РЕШЕНИЯ ЭКОНОМИЧЕСКИХ
ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ С ДРОБНЫМИ КРИТЕРИАЛЬНЫМИ
ФУНКЦИЯМИ.
В этой главе
работы представлен новый метод решения
задач математического программирования с дробными криитериальными
функциями. Он основан на использовании функций, построенных в
результате
объединения
числителя
и знаменателя
этой
дробной
функции.
В экономике , управлении и организации производства часто встречаются задачи, когда в системе
показателей
показателей
качества
принимаемого
оптимизации)
имеются
решения(
относительные
показатели. К числу таких показателей в заводском и
61
отраслевом
анализе
и
планировании
относятся
,
например, следующие показатели:
- объём
выпуска
товарной продукции
на
1
рубль
заработной платы ;
- объём
производства
товарной
продукции на
1
станко-час работы конкретного вида технологического
оборудования ;
- величина
прибыли ,
приходящаяся
на
1
рубль
заработной платы;
- затраты
ресурсов
различных
видов
производственных
на 1 рубль товарной продукции и др.
Критериальные
показателям
в
функции,
настоящее
соответствующие
время
часто
таким
называют
дробными.
Далее, предлагается
новый
численный
метод
поиска оптимальных решений эадач математического
программирования
с
дробными
критериальными
функциями. По сравнению с описанными литературе
методами
решения
подобных
задач
/4; 8 /
он
позволяет находить решения более широкого класса
оптимизационных задач с дробными критериальными
функциями и является достаточно эффективным на
основе улучшения метода , описанного в работе /14
Предлагаемый
использовать
метод /21/ наиболее
для
проведения
/.
целесообразно
экономико-
математического анализа , в котором используются
62
так
называемые
удельные
показатели
затрат
и
результатов.
Формулировка задачи.
Пусть
требуется
решить
следующую
задачу
мактематического программирования:
Найти
X=(X 1 ,X 2 ,…,X n )
критериальная
L
(0)
,
при
котором
функция
=f(X)/  (X)  min
при всех X  D , где
X - точка множества D ;
D-
ограниченное
множество
задачи, расположенное
пространстве;
в
это
математического
допустимых
решений
n – мерном евклидовом
множество
в
программирования
задачах
описывается
обычно с помощью линейных или
нелинейных математических ограничений;
f(X) и
( X )
- математические функции , заданные на
множестве D.
Кроме
того,
предположим
,
что
эти
функции
являются ограниченными и удовлетворяют условиям:
f(X)  0, и
Так
 ( 0)  0
как
эти
экономики
и
техническими
и
количественно
при всех X  D .
функции
в
управлении
экономическими
выражать
реальных
задачах
производственносистемами
какие-либо
будут
показатели
функционирования этих систем , то указанные выше
63
свойства
этих функций
и области
на практике
D
будут выполняться очень часто (почти всегда).
Далее, построим
обобщённую
математическую
функцию
W(X,L)=f(X) - L  ( X ) ,
L- постоянная положительная величина.
Предположим, далее,
что
множество
D
не
является пустым и обозначим
(0)
( 0)
min
(f(X)/  ( X ) )=f(X )/  ( X )
X D
(0)
символом L min то есть
( 0)
L min =f(X )/  ( X ).
(0)
Ясно, что
(0)
( 0)
W(X , L min )=f(X ) - L min  ( X )=0.
(1)
Докажем три теоремы. Однако вначале вычислим
(1)
min
W(X,L min )=W(X ,L min )=  .
X D
ТЕОРЕМА 1. Величина

(2)
будет равной нулю.
Д о к а з а т е л ь с т в о.
Из формулы (1) следует , что
  0.
Из формулы(2) видно, что
(1)
f(X ) -
( X
Рассмотрим
(1)
)L min -  =0.
,
(3)
некоторую
удовлетворяющую равенству:
Очевидно,
что
  0.
(1)
f(X ) – (L min +  )  ( X )=0
или
64
(1)
Равенство
представить в виде:
(1)
   (X
величину

,
).
(3)
можно
(1)
(1)
L min +  =L 1 =f(X )/  ( X ).
Если
 0,
то
L 1  Lmin .
Следовательно,   0 и
ТЕОРЕМА 2. Если
точка X
( 2)
D
Получилось
  0.
противоречие.
Теорема доказана.
L  Lmin , то имеется хотя бы одна
, при которой выполняется условие:
( 2)
min
W(X,L min )=W(X ,L)  0.
X D
ДОКАЗАТЕЛЬСТВО.
(0)
Ясно , что W(X ,L min )=0, где
(0)
оптимальное
X -
решение рассматриваемой задачи. Рассмотрим , далее,
следующее условие:
(0)
(0)
( 0)
(0)
(0)
(0)
W(X , L)= f(X ) - L  ( X )=(f(X )- L min  (X ))-(L-L min )  (X )=
(0)
=(L min - L)  (X ).
(0)
Так как L Lmin , то следовательно W(X ,L)  0 .
Теперь
нетрудно
неравенство :
min
X D
видеть,
что
( 2)
выполнится
(0)
W(X,L)=W(X ,L)  W(X ,L)
 0.
Теорема 2 доказана.
ТЕОРЕМА 3 .
Если
L  L min , то
для
всех X D
должно выполняться неравенство: W(X,L)  0 .
ДОКАЗАТЕЛЬСТВО.
Предположим,
имеется
хотя
бы
что
теорема 3
одна
точка
выполняется неравенство :
( 3)
( 3)
( 3)
f(X ) - L  (X )=W(X ,L)=   0.
65
неверна.
X
( 3)
 D,
То
есть
при которой
Далее воспользуемся
некоторой
удовлетворяющей равенству :
Очевидно,
что
  0.
( 3)
    (X
Тогда
( 3)
величиной
( 3)

,
).
должно
выполняться
( 3)
условие: f(X ) - L  (X ) -  (X )=0.
( 3)
(3)
Или
L+  =L 1 =f(X )/  (X ).
Так как   0 , то следовательно : L 1  L  Lmin .
Таким
образом ,
рассматриваемой
критериальная
значение,
имеется
допустимое
( 3)
задачи
функция
которое
меньше
противоречие. Теорема 3
при
котором
задачи
принимает
X ,
этой
решение
чем
L min .
Получилось
доказана.
Следствием этой теоремы является выполнимость
неравенства:
min
X D
W(X,L)  0
при любом фиксированном значении положительной
величины L , удовлетворяющей
условию :
L  Lmin .
На
основе
вышеописанных
построить
несколько
численных
(вычислительных
поиска
оптимальных
критериальными
теорем
различных
решений
эффективных
процессов)
задач
можно
методов
с дробными
функциями. Опишем один из таких
методов.
ОПИСАНИЕ ЧИСЛЕННОГО МЕТОДА ПОИСКА РЕШЕНИЯ
ЗАДАЧИ.
66
С целью использования испытанных на практике и
эффективных численных методов
решения сложных
задач математического программирования
дополнительные
введём
ограничения. А именно : допустим,
что D - выпуклое множество;
на множестве D;
( X )
f(X)- выпуклая функция
- вогнутая функция на
этом множестве D.
Очевидно,
функцией
что
на
тоже
W(X,L)
множестве
будет
выпуклой
при
D
любом
неотрицательном фиксированном значении величины
L.
Если же f(X) и
( X )
а
множество
задано
ограничений,
D
будут линейными функциями,
с
то можно
помощью
будет
линейных
воспользоваться
методами линейного программирования.
Введём следующие обозначения: C 0 =
A0=
max
( X ) ;
X D
Очевидно,
L 0 =C 0 /A 0 .
с
помощью
методов и ЭВМ значения
вычислить.
min
f(X);
X D
Ясно
также,
современных
численных
этих величин
что L 0  Lmin .
нетрудно
Далее, будет
использоваться сколь угодно малая положительная
величина  .
Вычислительный
оптимального
процесс
решения
для
рассматриваемой
поиска
задачи
математического программирования можно разделить
67
На 14 шагов(частей).
Кратко
сущность
его
заключается
вначале находится интервал для
в
том,
что
величины L , в
котором находится искомая величина L min , а именно:
L1
Затем
этого
 Lmin  L2
, где L 1 , L 2 границы интервала.
осуществляется
интервала с
последовательное
помощью
деления
сжатие
его
на
две
части. Этот процесс длится до тех пор , пока длина
интервала , включающего L min , не превратится в сколь
угодно
малую
величину.
Запишем
эти
шаги
вычислительного процесса.
Шаг 1.
Вычислим
C0=
min
f(X);
X D
A0=
max
X D
( X )
;L 0 =
=C 0 /A 0 ;
Шаг 2. Положим, что L 1 =L 0 и найдём
min
W(X,L 0 )=
X D
(1)
W(X ,L 0 )=  0 .
Шаг3.
окончен. В
задачи
Если
вычислительный
|  0 |   ,то
процесс
(1)
этом
случае X - оптимальное решение
и L min =L 0 .
В противном случае надо будет
выполнить шаг 4.
Шаг 4.
Положим
превосходящее
L 2 =dL 1 ,
единицу.
где
d-любое
Однако
наиболее
целесообразно , чтобы d  |1,2;2|.
Шаг 5. Вычислим
(1)
min
W(X,L 2 )=W(X ,L 2 )=  0
X D
68
число,
.
Шаг 6.
Если |  0 |   , то вычислительный процесс
(1)
окончен. В этом случае X - оптимальное решение
Рассматриваемой задачи и L min =L 2
В
противном
же
случае
надо
будет
выполнить
шаг 7.
Шаг 7. Если
и
, то надо будет положить L 1 =L 2
0  0
перейти к выполнению
шага 4. В противном же
случае надо будет выполнить шаг 8.
Шаг 8.
Если
L 2 - L 1   , то
вычислительный
(1)
процесс окончен. В
решение задачи
этом случае X - оптимальное
и L min =L 1 . В противном же случае
надо будет выполнить шаг 9.
Шаг 9. Положим
теперь L 3 =(L 1 +L 2 )/2.
Шаг10. Вычислим теперь
min
W(X,L 3 )=
X D
(1)
W(X ,L 3 ) =
0 .
Шаг 11. Если |  0 |   , то это конец вычислительного
(1)
процесса. В этом случае X - оптимальное решение
задачи и L min =L 3 . В противном
же случае надо будет
выполнить шаг 12.
Шаг12.Если
 0  0 ,то
надо будет выполнить шаг 13.
В противном же случае надо выполнить шаг 14.
Шаг 13. Положим L 1 =L 3 и перейдём к выполнению
шага 8.
69
Шаг 14. Положим L 2 =L 3
и перейдём к выполнению
шага 8.
ЧИСЛЕННЫЙ
Рассмотрим
пример.
задачу
программирования
с
математического
числовыми
значениями
постоянных величин.
Найти значения X 1 ,X 2 ,..,X 4 , при которых
L=(X 1 + 3X 2 +0,5X 3 +0,5X 4 )/(2X 1 +X 2 + X 3 +0,3X )  min
4
при
условиях:
X 1 +…+X 4
 15 ;
1  X 1  10 ;
X 2  0;
X3  5;
2
X 4  1.
X 1 ,…,X 4 - целые числа.
Таким образом, эта задача относится к задачам
целочисленного
программирования
с
дробной
критериальной функцией.
Выполним
теперь
шаги
вычислительного
процесса.
Положим
  0,002
и
d=2.
Для
нахождения
значений величин C 0 и A 0 необходимо
решить две
задачи целочисленного программирования.
Шаг 1. Решается следуюшая задача(задача 1).
Найти значения величин X 1 ,…,X 4 , при которых
критериальная функция
C 0 =X 1 +3X 2 +0,5X 3 +0,5X 4  min
70
же
при условиях исходной эадачи:
X 1 + X 2 + X 3 + X 4  15 ;
1  X 1  10 ;
2X3  5;
X2  0;
X 4  1.
X 1 ,…,X 4 - целые числа.
Применив
линейного
какой-либо
метод
прораммирования
целочисленного
/ 6
/
найдём
оптимальное
решение этой задачи и соответствующее значение
величины C 0 .
Очевидно, оптимальное решение этой задачи будет
иметь вид:
(1)
(1)
(1)
(1)
X 1 =1; X 2 =0; X 3 =2; X 4 =1; C 0 =2,5.
Вторая задача формулируется следующим образом.
Найти значения X 1 ,…,X 4 , при которых критериальная
функция
A 0 = 2X 1 + X 2 + X 3 +0,3X 4
 max
при вышеописанных условиях исходной задачи.
С помощью какого-либо метода целочисленного
линейного
программирования
найдём
оптимальное
решение этой задачи.
Нетрудно видеть, что оптимальное решение этой
задачи имеет вид:
(1)
(1)
(1)
(1)
X 1 = 10; X 2 = 0; X 3 =4; X 4 =1; A 0 =24,3; L 0 =C 0 /A 0 =0,1029;
Шаг 2. Положим, далее, L 1 =L 0 =0,1029. Очевидно, что
W(X,L 0 )=0,794X 1 +2,8971X 2 +0,397X 3 + 0,4691X 4 . Здесь надо
будет решить следующую задачу.
71
Найти значения неизвестных X 1 ,…,X 4 , при которых
Следующая критериальная функция
0
=WX; 0,1029)=0,794X 1 +2,8971X 2 +0,397X 3 +0,4691X 4  min
при условиях исходной задачи.
Оптимальное решение её также можно будет найти с
помощью
известных
Очевидно, оптимальное
(1)
в
математике
решение
её
методов.
будет
иметь
(1)
(1)
вид: X 1 =1; X 2 =0; X 3 =2; X (41) =1;  0 =2,0501.
Шаг 3. Так как
0   ,
то надо будет выполнить шаг 4.
Шаг 4. Положим L 2 =0,1029 +0,1029=0,2058.
Далее выполним шаг 5.
Шаг 5.
Здесь
надо
будет
решить
следующую
задачу.
Найти значения неизвестных X 1 ,…,X 4 , при которых
критериальная
 0 =W(X;
функция
0,2058)=0,59X 1 +2,7942X 2 +0,294X 3 +0,4383X 4  min
при условиях исходной задачи.
Очевидно, оптимальное решение
этой задачи будет
иметь вид:
(1)
(1)
(1)
(1)
X 1 =1; X 2 =0; X 3 =2; X 4 =1;
 0 =1,62.
Далее, выполним шаг6.
Шаг 6.
Так
как
значительно
0
превосходит
величину  , то надо будет выполнить шаг 7.
Шаг 7.
Так
как
0  0 ,
то
надо
будет
положить
L 1 =0,2058 и далее, надо будет выполнить шаг 4.
72
Шаг 4. Положим L 2 =0,2058+ 0,2058=0,4116 и , далее,
надо выполнить шаг 5.
Шаг 5.
Здесь
надо
будет
решить
следующую
задачу.
Найти значения неизвестных X 1 ,…,X 4 , при которых
критериальная функция
 0 =W(X;0,4116)=0,1768X 1 +2,588X 2
+0,0884X +0,3765X 4  min
3
при условиях исходной задачи.
Очевидно, оптимальное решение этой задачи будет
иметь следующий вид:
(1)
(1)
(1)
(1)
X 1 =1; X 2 =0; X 3 =2; X 4 =1;
0
=0,73.
Далее надо будет выполнить шаг 6.
Шаг 6.
Так
как
0
значительно
превосходит
величину  , то надо будет выполнить шаг 7.
Шаг 7. Так как
0  0 ,
то надо будет положить L 1 =L 2 =
=0,4116 и , далее, выполнить шаг 4.
Шаг 4.Положим
Шаг 5. Здесь
L 2 =0,8232 и выполним шаг 5.
надо
будет
решить
следующую
задачу математического программирования:
Найти значения неизвестных X 1 ,…,X 4 , при которых
Критериальная функция
 0 =W(X;0,8232)=-0,6464X 1 +2,1768X 2 -0,3232X 3 +0,253X 4  min
при условиях исходной задачи.
Очевидно , оптимальное решение этой задачи имеет
(1)
(1)(
(1)
(1)
вид: X 1 =10; X 2 =0; X 3 =4; X 4 =1;
73
 0 =-7,5.
Далее, выполним шаг 6.
Шаг 6. Так как |  0 | значительно превосходит  , то
надо будет выполнить шаг 7.
Шаг 7. Так как
 0  0,
то надо будет выполнить шаг 8.
(Здесь границы промежутка , содержащего искомую
величину L min , уже будут вычислены).
Шаг 8.
Так
как
(L 2 - L 1 )=(0,8232 – 0,4116)=0,4116
значительно превосходит величину  , то надо будет
выполнить шаг 9.
Шаг 9. Положим L 3 =(0,8232+0,4116)/2=0,6174.
Далее надо будет выполнить шаг 10.
Шаг 10.
Здесь
надо
будет
решить
следующую
задачу.
Найти значения неизвестных X 1 ,…,X 4 , при которых
критериальная функция
 0 =W(X;0,6174)=-0,2348X 1 +2,3826X 2 -0,1174X 3 +0,3148X 4  min
при условиях исходной задачи.
Оптимальное решение этой задачи имеет вид:
(1)
(1)
(1)
(1)
 0 =-2,5.
X 1 =10; X 2 =0; X 3 =4; X 4 =1;
Далее выполним шаг 11.
Шаг 11.
Так
как
значительно
| 0 |
превосходит
величину  , то надо будет выполнить шаг 12.
Шаг 12. Так как
0  0 ,
то надо будет выполнить шаг
14.
74
Шаг 14. Положим L 2 =L 3 =0,6174. Далее необходимо
выполнить шаг 8.
Шаг
8.
Так
превосходит
как
(L 2 -L 1 )=0,2058
и
значительно
величину  , то надо будет выполнить
шаг 9.
Шаг 9. Положим, чтоL 3 =(0,6174+0,4116)/2=0,5145 и
выполним шаг 10.
Шаг 10. Здесь
надо
будет
решить
следующую
задачу математического программирования:
Найти
X 1 ,…,X 4 ,
при
которых критериальная
функуция
 0 =W(X;0,5145)=-0,029X 1 +2,4855X 2 -0,0145X 3 +0,3456X 4  min
при условиях исходной задачи.
Очевидно, оптимальное решение этой задачи будет
иметь вид:
(1)
(1)
(1)
(1)
X 1 =10; X 2 =0; X 3 =4; X 4 =1;
 0 =-0,00244.
Так как |  0 | ещё превосходит величину  , то надо
будет продолжать вычислительный процесс . Однако
в
процессе вычислений уже получены следующие
результаты:
min
X D
min
X D
W(X;0,5145)=-0,00244;
W(X;0,4116)=0,73;
Это означает, что выполняется условие:
75
Продолжая
0,4116  L min  0,5145.
этот
вычислительный
процесс аналогично
получим, что
min
W(X;0,5134)=0,0243.
X D
Но так как разность (0,5145-0,5134)=0,0011 меньше
величины
,

то
можно
считать,
что
L min =(0,5134+0,5145)/2=0,514.
Оптимальное решение находим с помощью решения
следующей задачи:
Найти значения неизвестных X 1 ,…,X 4 , при которых
критериальная функция
 0 =W(X;0,514)=-0,028X 1 +2,486X 2 -0,014X 3 +0,3458X 4  min
при условиях исходной задачи.
Оптимальное
(1)
решение
(1)
(1)
этой
(1)
вид: X 1 =10; X 2 =0; X 3 =4; X 4 =1;
Более точное значение
Вычислительный
решение
задачи
 0 =0,009;
будет
иметь
L min =0,514.
L min =0,5144.
процесс
исходной
окончен.
задачи
Оптимальное
математического
программирования буде иметь вид:
(0)
X 1 =10; X 2 =0 ; X 3 =4; X 4 =1; L min = L min =0,5144.
ЗАКЛЮЧЕНИЕ.
Достаточно
метод
видно,
является
что
предлагаемый
надёжным
и
поиска решений задач этого вида.
76
численный
эффективным
для
ЛИТЕРАТУРА.
1.Курош А.Г. Курс высшей алгебры.: учеб. / А.Г.Курош .М.:Гос.
издательство
технико-теоретической
литературы. 1955.- 379 с.
2.Березин И.С.,
Жидков Н. П. Методы вычислений.Т2 :
учеб./ И. С. Березин, Н. П.
Жидков. М.: ФИЗМАТГИЗ.
1960.- 620 с.
3.Фаддеев Д. К. Вычислительные
алгебры./ Д. К. Фаддеев , В. Н.
методы
линейной
Фаддеева.- М-Л.:
ФИЗМАТГИЗ, 1963.- 734 с.
4.Шварцман А. И. Об
линейного
одном
программирования./
алгоритме дробноА.И.
Шварцман.//
Экономика и математические методы.Вып. 4. 1965.- с
558 – 565.
5.Гантмахер Ф. Р. Теория матриц./ Ф. Р. Гантмахер .- изд.
второе, дополненное. – М.: Наука, 1966.- 576
6.Корбут
А.А. Дискретное
программирование
./ А. А.
Корбут, Ю.Ю. Финкельштейн.- М.: Наука, 1969.- 366 с.
7. Мальцев А.И. Основы линейной алгебры: Учеб. пос./
А.И. Мальцев. Изд. третье, перераб.- М.: Наука, 1970.- 400
с.
8. Чернов Ю.П. О задачах дробного программирования
с линейными ,
сепарабельными и квадратичными
77
функциями./ Ю.П. Чернов./ / Экономика и математические
методы. Вып. 5.1971, с721 – 732.
9. Косcов В.В. Межотраслевые
модели ( теория
и
практика использования) ./ В.В. Коcсов.- М.: Эконогмика,
1973.-359с.
10.
Щукин
В.Н.,
Архипенков
С.М.
Экономико-
математические модели производственной структуры
предприятия
/В.Н.
Щукин,
С.М.
Архипенков.-
М.:Экономика,1973.—151
11.Ортега
Дж.
нелинейных
Итерационные
систем
методы
уравнений
решения
со
многими
неизвестными. пер. с анг. / Дж. Орртега, В. Рейнболдт.-М.:
Мир, 1975.- 558 с.
12. Кузнецов Ю.Н. Математическое
Учеб.
пос./
Ю.Н.
Кузнецов,
программирование.
В.И.
Кузубов,
А.Б.
Волощенко.- М.: Высш. шк. ,1980.- 300 с.
13.
Ромакин
М.И.
Оптимизация
планирования
производства(экономико-математические
методы)/ М.И. Ромакин, -М.: Финансы
модели
и
и
статистика,
1981.-109 с.
14.Архипенков С.М. Метод решения оптимизационных
задач
планирования
Архипенков.
специального
Совершенствование
производственными
системами.
С.М.
управления
Сб.научн.
Новосибирск, НИНХ, НГУ, 1986.- с3 – 12.
78
вида./
тр.
–
15.
Архипенков
приближений
С.М.
для
Метод
последовательных
матриц
больших
размерностей./ С.М. Архипенков .Модели и
методы
агроинформатики
обращения
в
рыночных условиях
РАСХН.
Сиб.
научных
исследованиях
и
хозяйствования. Сб. научн. Тр. /
отделение
СИБНИИЭСХ.-Новосибирск,
1992.- с182 – 187.
16.Архипенков С.М. Экономико-математические
модели
формирования оптимальных(напряжённых) и надёжных
Планов
производства
на
предприятиях
обрабатывающей промышленности/ С.М. Архипенков .М.: изд-во ТГТУ.1999.-48с.
17. Вержбицкий В.М. Численные
алгебра
и
нелинейные
методы( Линейная
уравнения) : учеб./ В.М.
Вержбицкий .- М.: Высш. шк. , 2000.- 266 с.
18. Тихомиров Н.П., Дорохина Е.Ю. Эконометрика: Учеб.
/
Н.П.
Тихомиров,
Е.Ю.
Дорохина
.-М.:
изд-во
*Экзамен*.2003.-512 с.
19.Архипенков С.М. Итерационный
метод
обращения
матриц/ С.М. Архипенков // Вестник Тамб. гос. техн. ун-та.2003. Том9№3.-с.532-537.
20. Архипенков С.М. Метод нахождения
алгебраических
уравнений высоких
всех корней
степеней./ С.М.
Архипенков: Тамб. гос. техн. ун – т.- Тамбов. 2006.-15 с.Деп. в ВИНИТИ РАН. 19.12. 2006.№1587.- В2006.
79
21. Архипенков С.М. Метод
задач
математического
дробными
решения
экономических
программирования
критериальными
функциями./
с
С.М.
Архипенков .// Вестник Тамб. гос. техн. ун-та.-2004. Том10Юбилейный.№2.-с 607 – 615.
22. Архипенков С.М., Мамонов В.И. Итерационный метод
поиска
частично-целочисленных
решений
задач
линейного программирования большой размерности./
С.М. Архипенков , В.И. Мамонов.
методы
в прикладных
Математические
исследованиях.Сб. научн.
Тр.Вып.4. - Новосибирск, НГУЭУ. Отв. ред. А.Т. Семёнов,
2010 .- с13 – 23.
23. Архипенков С.М. Итерационный метод нахождения
корней алгебраических уравнений высоких степеней./
С.М.
Архипенков.
прикладных
Математические
методы
в
исследованиях. Сб. научн. Тр. Вып. 4. –
Новосибирск, НГУЭУ. Отв. ред. А.Т. Семёнов, 2010.-с 3 13.
80
Научное издание.
Архипенков Сергей Макарович- математик-вычислитель по диплому о высшем образовании, кандидат экономических наук, доцент Тамбовского государственного технического университета, член-корреспондент Международной Академии науки и практики организации производства. Он автор более 50
работ по экономико-математическим методам.
МАТЕМАТИЧЕСКИЕ
МЕТОДЫ В
СОЦИАЛЬНО-ЭКОНОМИЧЕСКОМ УПРАВЛЕНИИ.
Монография.
--------------------------------------------------------------------------------------------------------------Издательство ИП Чеснокова А.В.
392020. г. Тамбов, ул. О.Кошевого 14. Тел. (4752) 53-60-84
Подписано в печать 17.12.2010г. Формат 60х84
ОБЪЁМ -4,16 УСЛ.ПЕЧ.Л. Тираж 100 экз. Заказ № 333.
81
Download