УДК 004.89
ПРИМЕНЕНИЕ ПАРАЛЛЕЛЬНОГО АЛГОРИТМА ПЛАВАЮЩЕГО КОНУСА ДЛЯ РЕШЕНИЯ ЗАДАЧИ ПОИСКА ПРЕДЕЛЬНЫХ ГРАНИЦ КАРЬЕРОВ
PARALLEL FLOATING CONE ALGORITHM FOR OPTIMIZATION
OF OPEN PIT LIMITS
П.В. Васильев, В.М. Михелев, Д.В. Петров P.V. Vassiliev, V.M. Mikhelev, D.V. Petrov
Белгородский государственный национальный исследовательский университет, Россия, 308015, Белгород, ул. Победы, 85
Belgorod State National Research University, 85 Pobeda St, Belgorod, 308015, Russia e-mail: [email protected], [email protected], [email protected]
Аннотация. В статье рассмотрен алгоритм плавающего конуса для решения задачи поиска предельных границ карьеров. Предложена схема построения параллельной версии данного алгоритма, описана программная реализация параллельного алгоритма плавающего конуса. Приведены результаты вычислительных экспериментов по проверке адекватности разработанного алгоритма и масштабирования вычислительного процесса.
Resume. This article describes parallel moving cone method for design optimum open pit. A scheme of the parallel version of the algorithm described the software implementation of the parallel moving cone method described. The results of computational experiments to test the adequacy of developed algorithm and scaling of computational process.
Ключевые слова: блочное моделирование, алгоритмы оптимизации, границы карьеров, алгоритм плавающего конуса, параллельные вычисления
Keywords: block modelling, algorithms of optimization, open pit limits, moving cone method, parallel computations
Введение
При планировании добычи полезных ископаемых открытым способом одной из важнейших задач является определение предельных границ карьера. В ходе этого процесса определяется конечная форма, размеры карьера и оценивается предельный объем получаемой прибыли от его разработки.
Анализ месторождений производится по дискретной блочной модели, в которой каждый блок имеет стоимостную оценку в зависимости от содержания в нем полезных компонентов и стоимости его извлечения и предварительной переработки. Исходными данными служат результаты опробования скважин и горных выработок. На их основе компьютерные методы построения полигональных, триангуляционных и интерполяционных моделей рудных тел позволяют получить в конечном счете детальные экономические блочные модели месторождений [1]. Вполне закономерно, что чем более масштабной и точной является блочная модель месторождения, тем более вычислительно сложным является процесс расчетов. В связи с этим в этой области является актуальным применение современных средств высокопроизводительных вычислений.
Существует большое количество различных алгоритмов для решения задачи поиска предельных границ карьеров, таких как метод плавающего конуса, алгоритм Леча и Гроссмана, генетический алгоритм и другие [2]. Все они имеют различные достоинства и недостатки. Среди них метод плавающего конуса - один из самых простых и легко реализуемых алгоритмов. Он предоставляет широкие возможности для поиска предельных границ карьера с произвольным углом наклона бортов. Однако, объем вычислений в нем растет пропорционально квадрату числа блоков в модели, что не позволяет обрабатывать с его помощью модели большой размерности.
В рамках данной статьи рассматривается классический алгоритм плавающего конуса для решения задачи поиска предельных границ карьеров и предлагается схема построения параллельной версии данного алгоритма.
Серия Экономика. Информатика. 2016 № 2 (223). Выпуск 37
Задача определения границ предельного карьера
Для решения задачи поиска предельных границ карьера используют блочную модель месторождения полезных ископаемых. Каждый блок данной модели характеризуется числом (весом), показывающим чистую прибыль, получаемую в ходе его добычи, с учетом процентного содержания полезных элементов, себестоимости его выработки и рыночной стоимости полезных компонентов.
На рисунке 1 приведен пример поперечного сечения блочной модели, красной линией отмечена оптимальная форма карьера в данном сечении.
Желтые блоки с положительным значением веса - блоки, которые содержат полезные элементы и их выгодно добывать, серые блоки с отрицательным значением веса - пустая порода, добывая которую предприятие только тратит средства.
4 4 4 4 4 8 12 12 0 4 4 4 4 4 4 4 4 4 4
4 4 4 4 0 12 12 8 4 4 4 4 4 4 4 4 4
4 4 4 4 8 12 12 0 4 4 4 4 4 4 4
4 4 4 0 12 12 8 4 4 4 4 4 4
4 4 4 8 12 12 0 4 4 4 4
4 4 0 12 12 8 4 4 4
Рис. 1. Пример поперечного сечения блочной модели месторождения Fig. 1. An example of a cross-sectional block model of the deposit
Задача определения границ предельного карьера (оболочки карьера на конец срока жизни горного предприятия) состоит в нахождении множества извлекаемых трехмерных блоков руды и породы с целью максимизации прибыли при наличии прецедентных ограничений, связанных с устойчивостью откосов бортов.
Геометрические ограничения на последовательность извлечения блоков (рисунок 2) гарантируют, что откосы бортов карьера будут устойчивы, а горное оборудование будет иметь доступ к рабочим зонам. Прецедентные ограничения требуют выполнения условия, что при извлечении текущего блока на него непосредственно воздействуют вышележащие блоки, которые должны быть извлечены прежде, чем рассматриваемый блок. Прецедентная связь между блоками задается явно как связь транзитивного типа, то есть, если для извлечения блока A необходимо извлечь блок B, а для извлечения блока B необходимо извлечь блок C, то для извлечения блока A также необходимо извлечь и блок C. Эта транзитивность отражается в исходных прецедентных ограничениях. Можно использовать это свойство транзитивности для описания прецедентной связи как непосредственной или прямой, если на нее не влияет какая-либо иная пара предшественников, что позволяет моделировать прецедентные ограничения путем увеличения числа прямых предшественников в моделях.
б
a
Рис. 2. Схемы извлечения блоков, основанные на удалении пяти блоков выше заданного 6-го блока (а) или на
удалении девяти блоков выше заданного 10-го блока (б) Fig. 2. Scheme extraction of blocks based on the removal of the five units above a predetermined 6th block (a) or at a distance of nine units 10 above a predetermined second block (b)
При удалении 10 блоков угол наклона бортов для блоков лежит в пределах от 35 до 45, тогда как при удалении шести вышележащих блоков углы крутизны склонов будут меняться в диапазоне от 45 до 55. Переходя от кубических блоков к блокам в виде параллелепипедов с различными размерами по осям X, Y и Z можно добиться изменения величин в необходимом диапазоне углов. Эти правила последовательности выемки блоков трактуются как некое приближение моделей стратеги-
ческого планирования к реальным процессам добычи, рассматриваемым при планировании продукции.
Существует насколько классов задач оптимизации границ карьеров в зависимости от учета в них тех или иных факторов (время, производственные ограничения и др.). В рамках данной статьи будут рассмотрены алгоритмы, решающие задачу нахождения предельных границ карьера, (ЦР1Т), или задача поиска замыкания с максимальным весом. Эта задача определяет наиболее прибыльную оболочку из блоков внутри рудного тела и, следовательно, в ней не учитываются факторы времени и какие-либо производственные ограничения. Набор ограничений состоит только из прецедентных отношений между блоками. По сути, используя ценность каждого блока без всяких ограничений на необходимые производственные ресурсы по выемке, решение этой задачи показывает немедленную прибыль от карьера и, соответственно, устанавливает то, какие блоки должны быть извлечены согласно прецедентным ограничениям для получения данной прибыли.
Алгоритм плавающего конуса
В данном алгоритме элементарная фигура формирования границ карьера — перевернутый усеченный конус, меньшее основание которого имеет размеры, соответствующие минимальной ширине дна карьера. Плоскость, образующая боковую поверхность конуса, наклонена к горизонтальной плоскости под углом, равным углу откоса конечного борта карьера. Пример положительного конуса приведен на рисунке 3.
1 2 3 4 5 6 7 8
1 -1 -1 -1 -1 -1 -1 -1
2 2 -1 -1 -1 -1 -1 -1
3 -1 -1 7 -0.5 7 -1 -1
4 -1 -1 -1 -1 -1 -1 -1
Рис. 3. Конус с положительным значением Fig. 3. A cone with a positive value
Этот метод имеет несколько вариантов, подробно рассмотренных в работе [3]. Самый простой вариант данного алгоритма впервые был описан в работе [4]. В нем для каждого положительного блока модели строится конус со сторонами, угол наклона которых к горизонтальной плоскости равен максимально допустимому углу наклона борта карьера в данной точке месторождения. После этого вычисляется сумма значений всех блоков, входящих в построенный конус. Если полученное значение положительно, данный конус включается в решение. Решением в данном случае является набор конусов, объединение которых образует конечную форму граница карьера. Данный процесс продолжается, пока не будут перебраны все положительные блоки модели.
1 2 3 4 5 6 7 8
1 -1 -1 -1 -1 -1 -1 -1
2 -1 2 -1 -1 -1 -1 -1 -1
3 -1 -1 7 -0.5 7 -1 -1
4 -1 -1 -1 -1 -1 -1 -1
Рис. 4. Истинная предельная форма карьера, сумма блоков решения +3 Fig. 4. True ultimate form of career, the amount of solution 3 units
Данный алгоритм очень прост для понимания и реализации, однако, в некоторых случаях он не находит предельно оптимальную форму карьера с максимальной суммой входящих в него блоков. Для двумерной модели, представленной на рисунке 3, данный алгоритм не находит предельную форму карьера, как показано в таблице 1, в то время как истинная предельная форма карьера приведена на рис. 4.
Существует модификация данного алгоритма - плавающий конус 2, описанная в работах [3, 5]. Данный метод в целом похож на предыдущий. Анализ модели происходит по уровням, начиная с самого верхнего. На каждом уровне для всех положительных блоков строится конус и вычисляется сумма входящих в него блоков. При этом после подсчета суммы блоков, входящих в конус, они извлекаются из модели (заполняются нулями) и не влияют на подсчет сумм последующих конусов. В ходе работы алгоритма рассчитывается так же накопленная сумма - сумма всех конусов, извлеченных из модели к данному шагу. Процесс продолжается, пока не переберут все положительные блоки. После этого в решение включаются конусы с максимальной накопленной суммой и все предшествующие блоки.
104 НАУЧНЫЕ ВЕДОМОСТИ [5. | Серия Экономика. Информатика.
2016 №2(223). Выпуск 37
Таблица 1 Table 1
Порядок анализа модели алгоритмом плавающего конуса The procedure for the analysis model of the floating cone algorithm
Уровень Номер блока Значение блока Значение конуса Входит в решение
2 (2,2) + 2 -1 Нет
3 (3,4) +7 -1 Нет
3 (3,6) +7 -1 Нет
Такой алгоритм для модели, приведенной на рисунке 3 находит предельную форму карьера, показанную на рисунке 4. Порядок анализа блоков приведен в таблице 2 и на рисунках 5 и 6. В табл. 2 в скобках указаны значения в случае анализа блоков справа налево.
Таблица 2 Table 2
Порядок анализа модели алгоритмом плавающего конуса The procedure for the analysis model of the floating cone algorithm
Шаг Уровень Номер Значение Значение Накопленная Входит в
блока блока конуса сумма решение
1 2 (2,2) + 2 -1 -1 Да
2 3 (3,4) +7 +1 (-1) 0 (-2) Да
3 3 (3,6) +7 +3 (+5) +3 (+3) Да
1 2 3 4 5 6 7 8
1 0 0 0 -1 -1 -1 -1 -1
2 -1 0 -1 -1 -1 -1 -1 -1
3 -1 -1 -1 7 -0.5 7 -1 -1
4 -1 -1 -1 -1 -1 -1 -1 -1
Рис. 5. Модель после шага 1 Fig. 5. Model after step 1
1 2 3 4 5 6 7 8
1 0 0 0 0 0 0 -1 -1
2 -1 0 0 0 0 -1 -1 -1
3 -1 -1 -1 0 -0.5 7 -1 -1
4 -1 -1 -1 -1 -1 -1 -1 -1
Рис. 6. Модель после шага 2 Fig. 6. Model after step 2
Параллельный алгоритм плавающего конуса
Для модификации алгоритма плавающего конуса нами разработана эффективная схема распараллеливания. Анализ модели производится по уровням, начиная с ближайшего к поверхности. На каждом уровне операция вычисления суммы значений блоков, входящих в конус, не зависима для непересекающихся конусов, поэтому можно одновременно рассчитывать сумму для нескольких конусов.
Для проверки пересечения двух конусов предлагается следующие условие: для угла наклона 45 градусов достаточно, чтобы расстояние между вершинами конусов по горизонтали было больше квадрата их высоты.
На рис. 7 приведен псевдокод последовательной версии алгоритма для модели р размером т на п блоков.
for (int i = 1; i <= n; i++)
for (int j = 2; j <= m; j++)
if (p[i, j] > 0)
calcConeSumm(i, j),
Рис. 7. Псевдокод последовательной версии алгоритма плавающего конуса Fig. 7. The pseudo serial version of the floating cone algorithm
На рис. 8 приведен псевдокод параллельной версии алгоритма плавающего конуса для вычислительных систем с общей памятью.
int idThread = номер потока, начиная с 1 int countThreads = общее количество потоков
for (int i = 1; i <= n; i++) { int r = i*i;
for (int shift = 0; shift<r; shift++) {
for (int j = idThread + shift; j <= m; j += countThreads*r) if ((i <= n) && (j <= m) && (p[i, j] > 0)) calcConeSumm(i, j);
Barrier();
}
}_
Рис. 8. Псевдокод праллельной версии алгоритма плавающего конуса Fig. 8. The pseudo parallel version of the floating cone algorithm
Вычислительные эксперименты
Параллельный алгоритм плавающего конуса, описанный в данной статье, был реализован на языке C++ для вычислительных систем с общей памятью с использованием технологии OpenMP. В качестве технической платформы для проведения вычислительных экспериментов использовался суперкомпьютер «Нежеголь» Белгородского государственного национального исследовательского университета. Эксперименты проводились на одном вычислительном узле, технические характеристики приведены в таблице 3.
Таблица 3 Table 3
Технические характеристики вычислительного узла кластера Technical characteristics of the computing cluster node
Характеристика Значение
Процессор Intel(R) Xeon(R) CPU E5-2665
Частота процессора 2.4ГГц
Количество процессоров 2
Количество ядер 16
Объем ОЗУ 64Гбайт
В качестве исходных данных для тестирования алгоритма использовалась модель с ярко выраженным рудным телом, созданная на основе результатов моделирования и подсчета запасов Жайремского месторождения в Казахстане, опубликованных в работах [6, 7]. Данная модель была интерполирована до разрешения 100 на 100 на 50 блоков. Общее количество блоков в модели таким образом составило 500 000.
На рисунке 9 показана зависимость времени обсчета модели от количества вычислительных потоков.
Серия Экономика. Информатика. 2016 № 2 (223). Выпуск 37
700,00 635,42 600,00 500,00
х
g 400,00 к
I 300,00 m
200,00 100,00 0,00
1 2 4 6 8 10 12 14 16
Количество потоков
Рис. 9. Зависимость времени расчетов от количества вычислительных потоков Fig. 9. The time for calculation of the number of processing threads
По замерам времени было рассчитано ускорение для различного числа вычислительных потоков. На рисунке 10 приведена зависимость ускорения от количества вычислительных потоков. Жирной линией показан график ускорения, тонкой - линейная ассимптота.
Рис. 10. Зависимость ускорения от количества вычислительных потоков Fig. 10. The dependence of acceleration of the number of processing threads
Заключение
Результаты суперкомпьютерного моделирования показали перспективность предложенного метода для выполнения расчетов на регулярных блочных моделях месторождений твердых полезных ископаемых, разрабатываемых открытым способом. Основные преимущества предложенного метода заключаются в предоставлении нового принципа решения задачи оптимизации карьеров, позволяющего работать напрямую с трехмерной моделью месторождения, что значительно повышает адекватность получаемой модели. Кроме того, возможности гибкого масштабирования вычислительного процесса позволяют сокращать время обсчета модели почти линейно с увеличением количества вычислительных узлов.
Работа выполнена при финансовой поддержке РФФИ в рамках научных проектов № 15-47-03029_р_центр_а и № 1б-07-00399_А.
Серия Экономика. Информатика. 2016. №2 (223). Выпуск 37
Список литературы References
1. Whittle D.J., Vassiliev P.V. Construction Economic Ore Body Models for Open Pit Optimization. Moscow: s.n., 1997. 2nd Regional APCOM 97 SYMPOSIUM, Aug. pp. 511-514.
2. П.В. Васильев, В.М. Михелев, Д.В. Петров Оценка вычислительной сложности алгоритмов оптимизации границ карьеров в системе недропользования Научные ведомости БелГУ, Серия Экономика. Информатика, 2015. № 8 (205) Выпуск 34/1
P.V. Vasil'ev, V.M. Mikhelev, D.V. Petrov. Otsenka vychislitel'noy slozhnosti algoritmov optimizatsii granits kar'erov v sisteme nedropol'zovaniya. Nauchnye vedomosti BelGU, Seriya Ekonomika. 2015, № 8 (205), 34/1
3. A new algorithm for optimum open pit design: Floating cone method III. Elahi zeyni E., Kakaie R., Yousefi A. 2 , 2011, Journal of Mining & Environment, Vol. 2 , pp. 118-125.
4. Carlson, T.R.; Erickson, J.D.; O'Brain D.T . and Pana, M.T.; 1966; «Computer techniques in mine planning», Mining Engineering, Vol. 18, No. 5, p.p. 53-56.
5. Khalokakaie, R. 2006; «Optimum open pit design with modified moving cone II methods», Journal of engineering in Tehran university, Vol. 4, No. 3 p.p 297-307. (in Persian)
6. Васильев П.В. Ускорение моделирования и оптимизации извлечения запасов рудных месторождений на основе параллельных вычислений // Горный информационно-аналитический бюллетень. — М.: МГГУ, 2012. — № 3. — C. 205-211.
Vasil'ev P.V. Uskorenie modelirovaniya i optimizatsii izvlecheniya zapasov rudnykh mestorozhdeniy na osnove parallel'nykh vychisleniy. Gornyy informatsionno-analiticheskiy byulleten'. M.: MGGU, 2012, № 3, P. 205-211.
7. Васильев П.В., Буянов Е.В. О методике совместной работы программ MapInfo и Geoblock по оконтуриванию и подсчету запасов рудных месторождений //Информационный Бюллетень ГИС Ассоциации. 2000. № 2. С. 32-33
Vasil'ev P.V., Buyanov E.V. O metodike sovmestnoy raboty programm MapInfo i Geoblock po okonturivaniyu i podschetu zapasov rudnykh mestorozhdeniy. Informatsionnyy Byulleten' GIS Assotsiatsii. 2000. № 2. P. 32-33
8. Петров Д.В., Михелев В.М. «Моделирование карьеров рудных месторождений на высокопроизводительных гибридных вычислительных системах», Вестник Южно-Уральского государственного университета. Серия: Вычислительная математика и информатика. 2014. Т. 3. № 3. С. 124-129.
Petrov D.V., Mikhelev V.M. Modelirovanie kar'erov rudnykh mestorozhdeniy na vysokoproizvoditel'nykh gi-bridnykh vychislitel'nykh. Vestnik Yuzhno-Ural'skogo gosudarstvennogo universiteta. Seriya: Vychislitel'naya ma-tematika i informatika. 2014. V. 3. № 3. P. 124-129.