<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Белгородский государственный научно-исследовательский университет</article-title>
      </title-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <fpage>655</fpage>
      <lpage>662</lpage>
      <abstract>
        <p>В статье рассмотрен алгоритм плавающего конуса для решения задачи поиска предельных границ карьеров. Предложена схема построения параллельной версии данного алгоритма, описана программная реализация параллельного алгоритма плавающего конуса. Приведены результаты вычислительных экспериментов по проверке адекватности разработанного алгоритма и масштабирования вычислительного процесса. Ключевые слова: поиск границ карьеров, алгоритм плавающего конуса, параллельные алгоритмы, компьютерное моделирование.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Решение задачи поиска предельных границ
открытых карьеров на основе параллельного алгоритма
плавающего конуса*
На рисунке 1 приведен пример поперечного сечения блочной модели, красной линией
отмечена оптимальная форма карьера в данном сечении.</p>
      <p>Рис. 1. Пример поперечного сечения блочной модели месторождения
Желтые блоки с положительным значением веса – блоки, которые содержат полезные
элементы и их выгодно добывать, серые блоки с отрицательным значением веса – пустая порода,
добывая которую предприятие только тратит средства.</p>
      <p>Задача определения границ предельного карьера (оболочки карьера на конец срока жизни
горного предприятия) состоит в нахождении множества извлекаемых трехмерных блоков руды
и породы с целью максимизации прибыли при наличии прецедентных ограничений, связанных с
устойчивостью откосов бортов.</p>
      <p>Геометрические ограничения на последовательность извлечения блоков (рисунок 2)
гарантируют, что откосы бортов карьера будут устойчивы, а горное оборудование будет иметь доступ
к рабочим зонам. Прецедентные ограничения требуют выполнения условия, что при извлечении
текущего блока на него непосредственно воздействуют вышележащие блоки, которые должны
быть извлечены прежде, чем рассматриваемый блок. Прецедентная связь между блоками
задается явно как связь транзитивного типа, то есть, если для извлечения блока A необходимо
извлечь блок B, а для извлечения блока B необходимо извлечь блок C, то для извлечения блока A
также необходимо извлечь и блок C. Эта транзитивность отражается в исходных прецедентных
ограничениях. Можно использовать это свойство транзитивности для описания прецедентной
связи как непосредственной или прямой, если на нее не влияет какая-либо иная пара
предшественников, что позволяет моделировать прецедентные ограничения путем увеличения числа
прямых предшественников в моделях.</p>
      <p>a
б
Рис. 2. Схемы извлечения блоков, основанные на удалении пяти блоков выше заданного 6-го блока
(а) или на удалении девяти блоков выше заданного 10-го блока (б)
При удалении 10 блоков угол наклона бортов для блоков лежит в пределах от 35 до 45, тогда
как при удалении 6 вышележащих блоков углы крутизны склонов будут меняться в диапазоне от
45 до 55. Переходя от кубических блоков к блокам в виде параллелепипедов с различными
размерами по осям X, Y и Z можно добиться изменения величин в необходимом диапазоне углов.
Эти правила последовательности выемки блоков трактуются как некое приближение моделей
стратегического планирования к реальным процессам добычи, рассматриваемым при
планировании продукции.</p>
      <p>Существует насколько классов задач оптимизации границ карьеров в зависимости от учета
в них тех или иных факторов (время, производственные ограничения и др.). В рамках данной
статьи будет рассмотрены алгоритмы, решающие задачу нахождения предельных границ
карьера, (UPIT), или задача поиска замыкания с максимальным весом. Эта задача определяет
наиболее прибыльную оболочку из блоков внутри рудного тела и, следовательно, в ней не
учитываются факторы времени и какие-либо производственные ограничения. Набор ограничений
состоит только из прецедентных отношений между блоками. По сути, используя ценность каждого
блока без всяких ограничений на необходимые производственные ресурсы по выемке, решение
этой задачи показывает немедленную прибыль от карьера и, соответственно, устанавливает то,
какие блоки должны быть извлечены согласно прецедентным ограничениям для получения
данной прибыли.
3. Алгоритм плавающего конуса</p>
      <p>В данном алгоритме элементарная фигура формирования границ карьера — перевернутый
усеченный конус, меньшее основание которого имеет размеры, соответствующие минимальной
ширине дна карьера. Плоскость, образующая боковую поверхность конуса, наклонена к
горизонтальной плоскости под углом, равным углу откоса конечного борта карьера. Пример
положительного конуса приведен на рисунке 3.</p>
      <p>
        Этот метод имеет несколько вариантов, подробно рассмотренных в работе [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Самый
простой вариант данного алгоритма впервые был описан в работе [4]. В нем для каждого
положительного блока модели строится конус со сторонами угол наклона которых к горизонтальной
плоскости равен максимально допустимому углу наклона борта карьера в данной точке
месторождения. После этого вычисляется сумма значений всех блоков, входящих в построенный
конус. Если полученное значение положительно, данный конус включается в решение. Решением
в данном случае является набор конусов, объединение которых образует конечную форму
граница карьера. Данный процесс продолжается, пока не будут перебраны все положительные
блоки модели.
Существует модификация данного алгоритма – плавающий конус 2, описанная в работах
[
        <xref ref-type="bibr" rid="ref3">3, 5</xref>
        ]. Данный метод в целом похож на предыдущий. Анализ модели происходит по уровням,
начиная с самого верхнего. На каждом уровне для всех положительных блоков строится конус и
вычисляется сумма входящих в него блоков. При этом после подсчета суммы блоков, входящих
в конус, они извлекаются из модели (заполняются нулями) и не влияют на подсчет сумм
последующих конусов. В ходе работы алгоритма рассчитывается так же накопленная сумма – сумма
всех конусов, извлеченных из модели к данному шагу. Процесс продолжается, пока не будут
перебраны все положительные блоки. После этого в решение включаются конусы с
максимальной накопленной суммой и все предшествующие блоки.
      </p>
      <p>Такой алгоритм для модели, приведенной на рисунке 3 находит предельную форму карьера,
показанную на рисунке 4. Порядок анализа блоков приведен в таблице 2 и на рисунках 5 и 6. В
таблице 2 в скобках указаны значения в случае анализа блоков справа налево.</p>
      <p>Таблица 2. Порядок анализа модели алгоритмом плавающего конуса
Шаг
4. Параллельный алгоритм плавающего конуса</p>
      <p>Для модификации алгоритма плавающего конуса, нами разработана эффективная схема
распараллеливания. Анализ модели производится по уровням, начиная с ближайшего к
поверхности. На каждом уровне операция вычисления суммы значений блоков, входящих в конус не
зависима для непересекающихся конусов, поэтому можно одновременно рассчитывать сумму для
нескольких конусов.</p>
      <p>Для проверки пересечения двух конусов предлагается следующие условие: для угла наклона
45 градусов достаточно, чтобы расстояние между вершинами конусов по горизонтали было
больше квадрата их высоты.</p>
      <p>На рисунке 7 приведен псевдокод последовательной версии алгоритма для модели p
размером m на n блоков.</p>
      <p>for (int i = 1; i &lt;= n; i++)
for (int j = 2; j &lt;= m; j++)
if (p[i, j] &gt; 0)</p>
      <p>calcConeSumm(i, j);
Рис. 7. Псевдокод последовательной версии алгоритма плавающего конуса
На рисунке 8 приведен псевдокод параллельной версии алгоритма плавающего конуса для
вычислительных систем с общей памятью.
int idThread = номер потока, начиная с 1
int countThreads = общее количество потоков
for (int i = 1; i &lt;= n; i++) {
int r = i*i;
for (int shift = 0; shift&lt;r; shift++) {
for (int j = idThread + shift; j &lt;= m; j += countThreads*r)
if ((i &lt;= n) &amp;&amp; (j &lt;= m) &amp;&amp; (p[i, j] &gt; 0))</p>
      <p>calcConeSumm(i, j);
}
}</p>
      <p>Barrier();
Рис. 8. Псевдокод последовательной версии алгоритма плавающего конуса
5. Вычислительные эксперименты</p>
      <p>Параллельный алгоритм плавающего конуса, описанный в данной статье был реализован на
языке C++ для вычислительных систем с общей памятью с использованием технологии OpenMP.
В качестве технической платформы для проведения вычислительных экспериментов
использовался суперкомпьютер «Нежеголь» Белгородского государственного национального
исследовательского университета. Эксперименты проводились на одном вычислительном узле,
технические характеристики приведены в таблице 3.</p>
      <p>Таблица 3. Технические характеристики вычислительного узла кластера</p>
      <p>
        Характеристика
Процессор
Частота процессора
Количество процессоров
Количество ядер
Объем ОЗУ
Значение
Intel(R) Xeon(R) CPU E5-2665
2.4ГГц
2
16
64Гбайт
В качестве исходных данных для тестирования алгоритма использовалась модель с ярко
выраженным рудным телом созданная на основе результатов моделирования и подсчета запасов
Жайремского месторождения в Казахстане, опубликованных в работах [
        <xref ref-type="bibr" rid="ref4">6, 7</xref>
        ]. Данная модель
была интерполирована до разрешения 100 на 100 на 50 блоков. Общее количество блоков в
модели таким образом составило 500 000.
      </p>
      <p>На рисунке 9 показана зависимость времени обсчета модели от количества вычислительных
потоков.</p>
      <p>Рис. 9. Зависимость времени расчетов от количества вычислительных потоков
По замерам времени было рассчитано ускорение для различного числа вычислительных
потоков. На рисунке 10 приведена зависимость ускорения от количества вычислительных
потоков. Жирной линией показан график ускорения, тонкой – линейная ассимптота.</p>
      <p>Рис. 10. Зависимость ускорения от количества вычислительных потоков
6. Заключение</p>
      <p>Результаты суперкомпьютерного моделирования показали перспективность предложенного
метода для выполнения расчетов на регулярных блочных моделях месторождений твердых
полезных ископаемых, разрабатываемых открытым способом. Основные преимущества
предложенного метода заключаются в предоставлении нового принципа решения задачи оптимизации
карьеров, позволяющего работать напрямую с трехмерной моделью месторождения, что
значительно повышает адекватность получаемой модели. Кроме того, возможности гибкого
масштабирования вычислительного процесса позволяют сокращать время обсчета модели почти
линейно с увеличением количества вычислительных узлов.
Литература
3. A new algorithm for optimum open pit design: Floating cone method III. Elahi zeyni E., Kakaie</p>
      <p>R., Yousefi A. 2 , 2011, Journal of Mining &amp; 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”,</p>
      <p>Journal of engineering in Tehran university, Vol. 4, No. 3 p.p 297-307 (in Persian).
8. Петров Д.В., Михелев В.М. «Моделирование карьеров рудных месторождений на
высокопроизводительных гибридных вычислительных системах», Вестник Южно-Уральского
государственного университета. Серия: Вычислительная математика и информатика. 2014. Т.
3. № 3. С. 124-129.
Optimum open pit design with parallel moving cone method</p>
    </sec>
    <sec id="sec-2">
      <title>D.V. Petrov, P.E. Bukreev, V.M. Mikhelev</title>
    </sec>
    <sec id="sec-3">
      <title>Belgorod National Research University</title>
      <p>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.</p>
      <p>Keywords: optimum open pit design, moving cone method, parallel algorithms, computer
modeling.
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”,</p>
      <p>Journal of engineering in Tehran university, Vol. 4, No. 3 p.p 297-307 (in Persian).
6. Vasil'ev P.V. Uskorenie modelirovaniya i optimizatsii izvlecheniya zapasov rudnykh
me-storozhdeniy na osnove parallel'nykh vychisleniy [Accelerate modeling and optimization of extraction
reserves of ore deposits based on parallel computing] Gornyy informatsionno-analiticheskiy
byulleten' [Mining informational and analytical bulletin] M.: MGGU, 2012, №3, P. 205-211.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          Moscow: s.n.,
          <year>1997</year>
          .
          <source>2nd Regional APCOM 97 SYMPOSIUM</source>
          , Aug. pp.
          <fpage>511</fpage>
          -
          <lpage>514</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>P.V.</given-names>
            <surname>Vasil'ev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.M.</given-names>
            <surname>Mikhelev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.V.</given-names>
            <surname>Petrov</surname>
          </string-name>
          .
          <article-title>Otsenka vychislitel'noy slozhnosti algorit-mov optimizatsii granits kar'erov v sisteme nedropol'zovaniya [Computational complexity for open pit optimization algorithms in mining mineral reserves]</article-title>
          .
          <source>Nauchnye vedomosti BelGU</source>
          , Seriya Ekonomika. Informatika [Belgorod State University Scientific Bulletin Economics Information technologies]
          <year>2015</year>
          , №
          <volume>8</volume>
          (
          <issue>205</issue>
          ),
          <volume>34</volume>
          /1
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>3. A new algorithm for optimum open pit design: Floating cone method III. Elahi zeyni E</article-title>
          .,
          <string-name>
            <surname>Kakaie</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <source>Yousefi A. 2</source>
          ,
          <issue>2011</issue>
          ,
          <source>Journal of Mining &amp; Environment</source>
          , Vol.
          <volume>2</volume>
          , pp.
          <fpage>118</fpage>
          -
          <lpage>125</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          7.
          <string-name>
            <surname>Vasil'ev P</surname>
          </string-name>
          .V.,
          <string-name>
            <surname>Buyanov</surname>
            <given-names>E.V.</given-names>
          </string-name>
          <article-title>O metodike sovmestnoy raboty programm MapInfo i Geoblock po okonturivaniyu i podschetu zapasov rudnykh mestorozhdeniy [On the method of joint work programs MapInfo and Geoblock for contouring and reserves estimation of ore deposits]</article-title>
          .
          <source>Informatsionnyy Byulle-ten' GIS Assotsiatsii [Newsletter GIS Association]</source>
          .
          <year>2000</year>
          . №2. P.
          <volume>32</volume>
          -
          <fpage>33</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          8.
          <string-name>
            <surname>Petrov</surname>
            <given-names>D.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mikhelev</surname>
            <given-names>V.M.</given-names>
          </string-name>
          <article-title>Modelirovanie kar'erov rudnykh mestorozhdeniy na vy-sokoproizvoditel'nykh gibridnykh vychislitel'nykh sistemakh [Modeling quarries ore deposits in the hybrid high-performance computing systems]. Vestnik Yuzhno-Ural'skogo gosudarstvennogo universiteta. Seriya: Vychislitel'naya matematika i informatika</article-title>
          . [Bulletin of South Ural State University. Series: Computational Mathematics and Informatics]
          <year>2014</year>
          . V.
          <volume>3</volume>
          . № 3. P.
          <volume>124</volume>
          -
          <fpage>129</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>