
книги из ГПНТБ / Чесноков, Н. И. Оптимизация решений при разработке урановых месторождений
.pdf
|
|
|
|
|
Т а б л II ц а 40 |
|
|
Ѵц |
.V, |
Л’аз |
*4 1 |
л-22 |
|
4,2 |
1 |
1 |
0 |
0 |
0 |
0 |
2,66 |
0,39 |
0 |
0 |
0,42 |
0 |
—0,61 |
2,61 |
0 |
0,93 |
—1,47 |
0 |
2,4 |
1,47 |
2,74 |
—0,39 |
0 |
0 |
—0,42 |
1 |
0,61 |
1,8 |
0 |
0 |
0 |
0 |
0 |
1 |
1,8 |
0 |
0 |
1 |
0 |
0 |
—1 |
3,89 |
0 |
—0,93 |
1,47 |
1* |
—2,4 |
—1,47 |
2,52 |
1 |
0 |
0 |
0 |
0 |
0 |
1,12 |
—0,39 |
0 |
0 |
—0,42 |
0 |
0,61 |
5,20 |
0 |
0 |
0 |
1 |
0 |
0 |
8378 |
—27,9 |
—47,4 |
—94 |
+ 1,63 |
—4,63 |
—24,1 |
мой нижней строке (теперь уже) табл. 37, затем глав ный элемент таблицы и т. д. Когда в самой нижней строке не будет ни одного положительного значения, задача считается решенной — это и будет искомый ми нимум. В нашем примере минимум достигается уже на третьем шаге вычислений, и симплекс-таблица прини мает иной вид (табл. 41).
|
|
|
|
|
|
Т а б л и ц а |
41 |
|
|
|
* 1 1 |
* і 2 |
* э з |
* 4 з |
* 2 2 |
|
І л |
|
4,2 |
1 |
1 |
0 |
0 |
0 |
|
0 |
* 2 1 — |
1,04 |
0,39 |
0,39 |
—0,61 |
—0,42 |
1 |
|
0 |
* 4 2 = |
2,61 |
0 |
0,93 |
—1,47 |
0 |
2,4 |
|
1,47 |
* 2 3 = |
4,36 |
—0,39 |
—0,39 |
0,61 |
0,42 |
0 |
|
0 |
* 3 1 = |
1,8 |
0 |
0 |
0 |
0 |
0 |
|
1 |
* 3 2 = |
1,8 |
0 |
0 |
1 |
0 |
0 |
— |
1 |
* 41 = |
3,89 |
0 |
—0,93 |
1,47 |
1 |
—2,4 |
|
1,47 |
t l = |
2,52 |
1 |
0 |
0 |
0 |
0 |
|
0 |
7-= |
2,74 |
—0,39 |
—0,39 |
0,61 |
0,42 |
—1 |
|
0 |
/4 = |
1,31 |
0 |
0,93 |
—1,47 |
—1 |
2,4 |
|
1,47 |
|
8314 |
—27,9 |
—32,2 |
—24,3 |
—16,3 |
- 7 , 2 |
|
0 |
174
Таким образом, минимальная стоимость добычи и переработки руды равна 8314 тыс. руб. при условии, что
*13 = 4,2, * 2 і — 1,04, |
* 2 3 = 4,36, *зі = *32= 1,8, |
*4і= 3,89, * 42 = |
|||
= 2,61, /(= 2,52, /9= 2,74, |
/4= |
1 ,3 1 |
и *і 1 = * і2 = * 22==*зз= |
||
= *4з= /з = 0. Это |
значит, |
что |
на |
руднике |
А не должны |
применяться ни первый, ни второй типы технологии, на руднике В не должен применяться второй тип, а на руд никах В и Г не должен применяться третий тип (с руч ной сортировкой в забое). Только при соблюдении ука занных условий может быть достигнута минимальная стоимость добычи и переработки руды на указанных четырех рудниках с применением рассмотренных трех типов технологии.
3. НЕЛИ НЕЙНО Е П Р О ГР А М М И РО В А Н И Е
Задачи математического программирования, где целевая функция и (или) ограничения нелинейны или требуется целочисленность переменных, относятся к не линейному программированию. Решаются такие задачи, как правило, значительно труднее, чем задачи линей ного программирования. При решении задач нелиней ного программирования применяются в основном мето ды вычислений, приводящие только к приближенным результатам, а для некоторых задач вычислительные методы вообще пока не разработаны.
В дальнейшем будут рассмотрены следующие задачи нелинейного программирования:
1 ) статические детерминированные нелинейные зада
чи (в данном параграфе;)
2 ) динамические детерминированные задачи (в сле
дующем параграфе); 3) статические стохастические задачи (гл. 4).
Наиболее распространенный и эффективный метод решения задач нелинейного программирования состоит в преобразовании задач к такому виду, который по зволяет применять симплексный метод. Такое преобра зование в большой степени зависит от типа нелинейной задачи. В одних случаях вообще ие требуются преобра зования, в других аппроксимация необходима, причем ее можно довести до любой требуемой точности за счет увеличения количества вычислений.
Второй метод решения задач нелинейного програм мирования основан на применении рекуррентных соотно шений Р. Веллмана [13, 55].
175
Третьим известным методом решения задач нелиней ного программирования может быть назван градиент ный метод.
Наконец, последний метод — классическая оптимиза ция, заключающаяся в применении дифференциального исчисления. Однако практически этот метод приме няется очень редко из-за трудоемкости вычислений. Классические методы оптимизации применяются в ос новном при теоретических исследованиях. Три первых метода обычно применяют для решения практических задач ( о н и будут рассмотрены ниже).
Преобразование нелинейных задач в приближенные линейные
Преобразование нелинейных задач в линейные является одним нз способов приведения нелинейных за дач к такому виду, чтобы можно было для 11X решения
применить симплекс-метод.
Некоторые нелинейные функции могут быть пред ставлены в виде суммы линейных функций, например
У — f (-'Т. -V.,, . . . , .ѵ„) = /, (лу) і- /о (л-2) |
+ /„ (.ѵ„). |
|
(3.69) |
Нелинейные функции, которые могут быть приведены к линейному виду указанным способом, называются се парабельными.
В нелинейных задачах нелинейными могут быть как целевая функция, так и ограничения.
Рассмотрим пример преобразования нелинейной за дачи в линейную. Представим себе, что па одном из рудников возможно применение двух систем разработ ки— камерной с массовым обрушением целиков и гори зонтальными слоями с полной закладкой выработанно го пространства твердеющими смесями п селективной выемкой. Первая система позволяет достигнуть высокой производительности труда и низкой себестоимости до бычи 1 т руды, но приводит к большому разубоживаншо. Вторая система позволяет добыть руду с меньшим разубоживанпем, но очень трудоемка, и себестоимость
добычи 1 |
т руды при |
ее использовании значительно |
||
выше. |
|
|
объем добычи руды |
камерной |
Обозначим через |
ад |
|||
системой |
разработки |
с |
массовым обрушением |
целиков |
176
(млн. r/год), через х2 объем добычи руды горизонталь ными слоями с полной закладкой выработанного прост ранства твердеющей смесыо и селективной выемкой (млн. т/год). На основании исследований па данном руднике были получены следующие соотношения: себе стоимость 1 кг металла в добытой руде (С|)
Ci — 2Xl + X.,;
себестоимость добычи и переработки 1 кг металла (С2)
С2 = 2xi -f Зхг;
содержание металла в добытой руде (Z, %)
Z 1 12лу — x^ -j-- Хо.
Задача состоит в том, чтобы при себестоимости до бычи 1 кг металла в руде не выше 4 руб. и себестоимо сти добычи и переработки не более 6 руб. за 1 кг металла определить максимальное содержание металла в добытой руде и соотношение систем разработки, обес печивающих соблюдение указанных условий.
Иначе данную задачу можно переписать следующим
образом: найти |
|
|
max Z = 2Xl — xf -j- x3 |
|
|
при условиях |
|
|
2Хі + |
х2 <£4, |
(3.70) |
2хг + |
Зх2 < 6. |
|
Как видно из задачи, целевая функция нелинейная, а ограничения линейные.
Попробуем целевую функцию представить в виде, удобном для применения симплекс-метода, т. е. преобра зовать ее в линейную. Перепишем целевую функцию в виде суммы двух функций:
max Z = /у (хх) + f2(х2), |
|
где fi(xi) =2xi—x j , f2(x2) = а'2 ( Х і > 0 , х 2 > 0 ) . |
Поскольку |
fz(х2) = х2— линейная функция, мы не будем |
ее преоб |
разовывать и выражать через другие переменные, пре образующие нелинейные зависимости в кусочно-линей ные.
Для преобразования /у(хі) разобьем область изме нения Хі на интервалы Ах,(1-= 0,25. При этом следует
12 Н. И. Чесноков в др. |
177 |
иметь в виду, что ли не может быть более 2,0, как это видно из функции М л-,) 11 ограничений, т. е. 0 ^ л',^2.
В |
общ ем виде Дл-Л,■ = л |
* |
,■ при |
/ г = ( 1 , |
/г.), |
Д/л; = |
|||
= /лг— / а- і . і - Е сли |
г ^ л у - г ^ л д ;, то |
|
|
|
|
||||
|
|
+■ = АѴ - і . ( + |
( Л л Д ) 6 * ; > |
|
|
( 3 . 7 1 ) |
|||
где |
б,., = Х‘ |
&хкі |
и |
0 < 6іи < 1. |
|
|
|
|
|
Тогда на основании изложенного можно написать |
|
||||||||
|
|
|
|
|
|
|
|
|
(3.72) |
где |
fi(Xi)— кусочно-линейное |
приближение |
функции |
||||||
Ы + ). |
|
|
|
|
|
|
k— 1) и |
||
Условимся |
далее, |
что |
6«і= 1 при |
«= (1, |
|||||
6Лі- = 0. В этом случае получим |
|
|
|
|
|
||||
|
|
^k—і,і = |
к |
|
|
|
|
(3.73) |
|
|
|
2 |
|
|
|
|
|||
|
|
|
|
|
|
|
|||
|
|
h - , ,■= и—1 |
+ |
|
|
|
(3.74) |
||
|
|
|
|
а |
также |
||||
Итак, допустив, что 0<Дб< 1, |
61U= 0 |
и |
и>/г, |
||||||
Shi > 0 и 6иі = 1 («=(1, |
k— 1)], |
можно |
написать |
|
|
||||
|
|
|
пі |
|
|
|
|
(3.75) |
|
|
|
Хі = |
(Л%) |
|
|
|
|||
|
|
I! № |
|
+ ""’о-’ |
|
|
(3.76) |
||
|
|
|
|
|
|
|
|
|
|
Вернемся к рассматриваемому примеру. Для условия |
|||||||||
Ах/И; = 0,25 результаты |
расчетов по формулам |
(3.70) — |
(3.76) приведены в табл. 42. |
|
|
|||||
С учетом |
изложенного условия рассматриваемой за |
||||||
дачи |
можно |
переписать в |
следующем виде: |
0,5^ 6,,+ |
|||
+ З л-2 + л' з = |
6, |
0 , 5 ^ 6 ft+ х 2 + |
х « = 4 - ( ° < ö h < l ; |
/г = |
1 - 2 > - ’ 8 ’ |
||
х2, |
Л'з, |
х . ^ 0 ) . |
Найти |
max 21=0,43756,+0,312502 + |
+ 0,18756з + 0,062564 — 0,06255s — 0,187566 — 0,312567 —
—0,437508 + л'г. Здесь |
Z — аналитическое выражение ло |
||
маной, |
аппроксимирующей целевую функцию |
Z; ö,t — |
|
новые |
переменные; |
л'з, ли — вспомогательные |
перемен- |
178
|
|
|
Т а б л и ц а 42 |
*1 |
Л (.ѵ,)=2.ѵ, - л-2 |
Щ і |
foi |
0 |
0 |
0 |
0 |
0,25 |
0,4375 |
0,4375 |
0 |
0,50 |
0,7500 |
0,3125 |
0 |
0,75 |
0,9375 |
0,1875 |
0 |
1,00 |
1,0000 |
0,0625 |
0 |
1,25 |
0,9375 |
—0,0625 |
0 |
1,5 |
0,7500 |
—0,1875 |
0 |
1,75 |
0,4375 |
—0,3125 |
0 |
2,00 |
0 |
—0,4375 |
0 |
8
ныв; 2 öft= 0,2561 + 0,2502 0,256з + 0,2564 + 0,256s + 0,256g-Ь
”Ь 0,2507 ~Ь 0,2568-
Таким образом, нелинейная задача преобразована в линейную и может быть решена симплекс-методом.
Применив для решения уже преобразованной задачи
симплекс-метод, |
получим |
|
at= 0 , 7 5 , |
А г = 1 , 5 , max Z— |
= 2,4374. Таким |
образом, |
максимальное содержание |
||
металла в добытой руде 2 |
= 2 ,4 3 7 4 % , |
что обеспечивается |
за счет добычи руды камерной системой с обрушением
целиков в объеме 0,75 млн. т/год |
и системой |
горизон |
|||
тальных |
слоев |
с |
полной за кладкой выработанного |
||
пространства |
и |
селективной |
выемкой в |
объеме |
|
1,5 млн. |
т/год. |
Это |
обеспечивает |
себестоимость |
добычи |
1 кг металла в руде не выше 4 руб. и себестоимость до
бычи и переработки 1 кг металла не более 6 руб.
В связи с большой трудоемкостью расчеты здесь не приводятся. В работах [26, 35, 38, 55] можно более под робно познакомиться и с другими методами линейной аппроксимации нелинейных задач, включая случаи не линейности как целевой функции, так и ограничений и квадратичного программирования, также позволяющего применять для решения симплекс-метод.
Градиентный метод решения нелинейных задач
Градиентный метод является также приближен ным и заключается в последовательном приближении к решению задачи. Каждый шаг решения при использова
12* 179
нии данного метода постепенно приближает к точке максимума пли минимума в зависимости от поставлен ной задачи. Граднентный метод применяется в основном при решении нелинейных задач на быстродействующих электронно-вычислительных машинах. Он не требует сепарабельности функции, однако необходимым усло вием является дифференцируемость и непрерывность как самих функций, так и их первых и вторых произ водных.
Метод назван градиентным потому, что при решении нелинейных задач используется вектор частных произ водных функций, называемый градиентом функции.
Если, например, частные производные вычислены в ка кой-то определенной точке у \ = { х п , *12, •••,*іл), то гра
диентом будет в данном случае либо вектор, либо точка в /г-мерном пространстве. При этом вектор из этой точ ки направлен в сторону максимальной скорости измене ния значения функции.
|
При использовании градиентного метода решения |
|||
нелинейных задач сначала выбирают |
начальную (ис |
|||
ходную) точку. Пусть |
начальной точкой будет |
г/і=(х'ц, |
||
*і2, |
-tin). Затем определяют значение частной произ |
|||
водной в данной точке (А/): |
|
|
||
|
М ( У і ) — |
( * i i > * 1 2 ) • - • > * і п ) > |
( 3 . 7 7 ) |
|
где |
Z\ —первая частная производная |
целевой |
функции, |
; = ( 1, /г). После этого находят значения компонент вто рой точки у2 по формуле r/2j= і/іj+ ctiAf(t/ij); аналогич
но далее
( 3 . 7 8 )
где а — коэффициент, порядок определения которого бу дет рассмотрен в числовом примере.
В результате выполнения указанных расчетов полу
чается последовательность точек ij\, |
у2, у3, ...,г/„, которые |
с каждым шагом приближают к |
искомому оптимуму |
(точке максимума или минимума в пределах области, фиксируемой ограничениями).
При определении значения а следует иметь в виду, что при слишком большом а число шагов будет меньше,
180
но появится опасность пропустить в промежутке между двумя соседними точками искомый оптимум. Чрезмер ное уменьшение а может привести к неоправданно боль шому числу приближений (шагов). Кроме того, направ ление градиента не всегда совпадает с линией, соеди няющей начальную точку с точкой оптимума, в связи с чем могут иметь место отклонения от этой линии и обус ловленное этим замедление скорости сходимости. В на стоящее время существуют методы выбора оптимальных коэффициентов [55] и расчета поправок к градиенту с использованием вторых частных производных для сни жения отклонения от линии, соединяющей начальную и оптимальную точки.
Приведем пример использования градиентного мето да для решения нелинейной задачи. Для простоты и сравнения рассмотрим нелинейную задачу предыдуще го раздела и решим ее с использованием градиентного метода.
В данном примере следует найти maxZ = 2xi—х^+ + х2 при условии 2хі + а'2^4, 2хі+ 3x2^6.
Определим частную производную целевой функции
Z'(y) = ( 2 - 2 Xl, 1), |
(3.79) |
где у = (хі, хг) — обозначение точек; (2—2хь 1 )— коор динаты точек градиента, представленные в виде векто ра-строки (это и есть вектор частных производных).
Примем за исходную (начальную) точку начало ко ординат, т. е. г/0= (0, 0). Вычислим для этой точки гра диент, т. е. подставим значения у0 в выражение (3.79), тогда
(Уо) = ( 2 - 2 .0 ,1 ) = (2,1). |
(3.80) |
Следующая точка в соответствии с (3.78) будет иметь координаты yi^yo + aiZ'(уо): подставив значения, по лучим
Уі —(0, 0) + 0/(2, |
і у = а і(2. |
1), |
(3.81) |
|
или |
|
|
|
|
|
Ух = (2-2, |
а ). |
|
|
Чтобы найти |
наибольшее |
(по допустимое) значение |
||
а, подставим в |
уравнения ограничений |
значения у у. |
2-2а + а = 4 (а = 4/5), 2-2а + За = 6 (а |
= 6/7). Наибольшее |
значение а = 6/7 = 0,857. Это значит, |
0^ аі^ 0,857, т. е. |
181
максимально допустимое значение а = 0,857. Зная допу стимое значение а, можно определить максимально воз можное. Для этого в целевую функцию подставляем значение у\ из уравнения (3.81):
Z = 2-2х — (2а)2 -|- а, дифференцируем ее и приравниваем нулю:
Z' = 4 — 8а + 1 = 0, |
(3.82) |
отсюда а = 5/8 = 0,625. Таким образом, |
максимально воз |
можное значение а меньше допустимого, и мы не дохо
дим до границы допустимой области. |
|
(3.81), |
полу |
|||
Теперь, подставляя значения (3.82) в |
||||||
чим вторую |
точку, |
приближающую |
нас |
к оптимуму: |
||
|
Уі = 0,625-(2, 1) = |
(1,25; |
0,625), |
(3.83) |
||
и в точке у\ |
градиент |
|
|
|
|
|
Z, {y1) = |
(2 -2 -1 ,2 5 ; |
1) = (—0,5, |
1), |
(3.84) |
т. е. отличается от градиента Z'(y0), а это значит, что и двигаться дальше мы должны в сторону нового гра диента:
Уі = y l + a,-Z' (уд. |
(3.85) |
Как было сделано выше, определяем наибольшее до |
|
пустимое значение а2, т. е. для точки у2 |
|
2 - (1,25 — 0,5сг2) + 3 • (0,625 + «а) = |
6. |
Откуда «9= 0,8125, что означает 0 ^ а 2^0,8125.
Второе ограничение дает ос2<0,8125, что легко про верить. Подставляя в целевую функцию значение у2 из уравнения (3.85), дифференцируя и приравнивая ее нулю, получаем максимально возможное а2:
Z = 2 (1,25 — 0,5'Ло) — (1,25 — 0,5х,)2 4- 0,625 + „,
Z' = — 1 + 1,25 — 0,25аа + 1 = 0 ,
а2 = 5.
Итак, мы можем принять а2 = 0,8125. Тогда, подставляя
значения у\, а2, Z'(уі) в (3.85), получим координаты третьей точки, приближающей нас к максимуму:
у2= (1,25; 0,625) + 0,8125-(—0,5; 1), |
(3.86) |
или
№ = (0,844; 1,44).
182
В точке у2 градиент Z' (у2) [см. уравнение (3.79)] тогда
будет иметь следующее значение:
Z'(y,) = (2 — 2-0,844; 1,00) = (0,312; 1). (3.87)
Четвертая точка в соответствии с (3.79) должна иметь координаты
|
Уз = Уз + |
аа7-'Ш- |
(3.88) |
|
Определим |
максимально |
допустимое ct3 : 2 • (0,844 |
+ |
|
+ 0,312а3) + 3- |
(1,44 + аз) =6, |
З,624а3 = —0,008, |
а3 |
= |
= 0,0022. Максимально возможное а3 вычисляем, как и |
|||
ранее: |
Z= 2 ■(0,844 + 0,312и3) — (0,844 + 0,312а3)2+ 1,44 + |
||
+ а3, Z7 = 0,624—0,264—0,098а3+ 1 =0, |
а3=13,9. |
||
Итак, принимаем |
а3= —0,0022 и |
подставляем это |
|
значение в равенство |
(3.88): |
|
Уз — (0,844; 1,44)+ (-0,0022).(0,312; 1,0),
или
у3 = (0,844; 1,438).
Градиент в четвертой точке определять нецелесооб разно, поскольку координаты третьей и четвертой точек находятся практически рядом, т. е. мы уже вплотную подошли к точке максимума Z.
Сравните: У2 —(0,844; 1,44) и і/3= (0,844; 1,438). Про
верим еще раз полученные данные с точки зрения вы полнения граничных условий: 2а'і+ х2< 4,2-0,844 +
+ 1,438 = 3,126<4, 2х\ + Зх2< 6,2 • 0,844 + 3-1,438 = 6,00.
Проверка показала, что точка максимума находится на граничной липни 2л'і+ З х 2 = 6.
Вычислим теперь значение целевой функции в най денной точке: ma.\Z = 2 - 0,844—0,8442+ 1,438 = 2,426. Ра нее для этой же задачи было получено х'і = 0,75, я?=1,5,
ZMUKC= 2,4374.
Сравнение результатов расчета двумя разными ме тодами показывает, что разница между ними составляет менее 0,5% и не может играть существенной роли при оценке точности того или другого приближенного мето да. Конечно, можно было бы продолжить расчеты на шего примера с помощью градиентного метода и даль ше, но, как только что было указано, к существенному повышению точности определения оптимума это все равно не привело бы.
183