Научная статья на тему 'ПРОГРАММНЫЙ МОДУЛЬ ДЛЯ ПОСТРОЕНИЯ ОПТИМАЛЬНОГО ГРАФИКА ПЕРЕРАБОТКИ СЫРЬЯ'

ПРОГРАММНЫЙ МОДУЛЬ ДЛЯ ПОСТРОЕНИЯ ОПТИМАЛЬНОГО ГРАФИКА ПЕРЕРАБОТКИ СЫРЬЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
53
14
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИСКРЕТНАЯ ОПТИМИЗАЦИЯ / МЕТОД ВЕТВЕЙ И ГРАНИЦ / ГРАФИК ПЕРЕРАБОТКИ СЫРЬЯ / МАКСИМИЗАЦИЯ ВЫХОДА ПРОДУКЦИИ / САХАРНАЯ СВЕКЛА / САХАРИСТОСТЬ / ПРОГРАММНЫЙ МОДУЛЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Баландин Дмитрий Владимирович, Кузенков Олег Анатольевич, Вильданов Вадим Кадирович

Одной из областей применения программных средств является организация технологического процесса, составление графика работы оборудования. Значимость проблемы оптимизации технологического режима объясняется тем, что часто изменение графика не требует привлечения дополнительных ресурсов, а отдача от выбора оптимальной последовательности стандартных операций порой сравнима с выигрышем от модернизации оборудования. Цель настоящего исследования состоит в разработке программного модуля для составления оптимального графика переработки сахарной свеклы. В основе создаваемого программного модуля лежит метод оптимизации, который можно рассматривать как модифицированный метод ветвей и границ или модифицированный метод динамического программирования. Построенный алгоритм на основе идей метода ветвей и границ позволяет существенно снизить необходимое число вычислений и сравнений. Программный модуль был реализован на языке программирования Python 3. Несмотря на невысокое быстродействие интерпретируемых языков, данный выбор позволяет, с одной стороны, ускорить разработку прототипа, а, с другой стороны, допускает в дальнейшем использование модулей для быстрой обработки массивов. Первая подпрограмма реализует инициализацию словаря, в котором ключу, содержащему сочетание из двух элементов множества номеров технологических этапов, соответствует перестановка, приводящая к максимальному выходу и значение этого выхода. В дальнейшем структура словаря не меняется, лишь увеличивается количество элементов в сочетании и соответствующей перестановке. Вторая подпрограмма для данного сочетания (представленного в виде упорядоченного кортежа значений) осуществляет поиск перестановки, обеспечивающей максимальный выход продукта. Благодаря структуре словаря, поиск реализован очень легко. Для сравнения эффективности работы созданного программного обеспечения был реализован также «жадный» алгоритм. Его стратегия состоит в том, что на каждом технологическом этапе обрабатывается сорт свеклы, обеспечивающий наибольший выход продукта на данном этапе. Выход сахара, получаемый «жадным» алгоритмом меньше либо равен максимальному выходу, однако, показано, что «жадная» стратегия обеспечивает большой выход лишь на первых этапах технологической обработки, и теряет на последних этапах по сравнению с реализованным оптимальным алгоритмом.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Баландин Дмитрий Владимирович, Кузенков Олег Анатольевич, Вильданов Вадим Кадирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

A SOFTWARE MODULE FOR BUILDING AN OPTIMAL SCHEDULE FOR PROCESSING RAW MATERIALS

One of the areas of application of software is the organization of the technological process, the scheduling of the equipment. The importance of the problem of optimization of the technological regime is explained by the fact that often a change in the schedule does not require the involvement of additional resources, and the return on the choice of the optimal sequence of standard operations is sometimes comparable to the gain from the modernization of equipment. The purpose of this study is to develop a software module for drawing up an optimal sugar beet processing schedule. The created software module is based on the optimization method, which can be considered as a modified branch-and-bound method or a modified dynamic programming method. The constructed algorithm based on the ideas of the branch and bound method can significantly reduce the required number of calculations and comparisons. The program module was implemented in the Python 3 programming language. Despite the low speed of interpreted languages, this choice allows, on the one hand, to speed up the development of a prototype, and, on the other hand, allows further use of modules for fast processing of arrays. The first subroutine implements the initialization of the dictionary, in which a permutation leading to the maximum output and the value of this output corresponds to the key containing a combination of two elements of the set of numbers of technological stages. Due to the structure of the dictionary, the search is very easy. To compare the efficiency of the created software, a greedy algorithm was also implemented. His strategy is that at each technological stage, the beet variety is processed that provides the highest product yield at this stage. The sugar yield obtained by the "greedy" algorithm is less than or equal to the maximum yield, however, it is shown that the "greedy" strategy provides a large yield only at the first stages of technological processing, and loses at the last stages in comparison with the implemented optimal algorithm.

Текст научной работы на тему «ПРОГРАММНЫЙ МОДУЛЬ ДЛЯ ПОСТРОЕНИЯ ОПТИМАЛЬНОГО ГРАФИКА ПЕРЕРАБОТКИ СЫРЬЯ»

НАУЧНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ В ОБРАЗОВАНИИ И НАУКЕ

УДК 004.94

DOI: 10.25559/SITITO.17.202102.442-452

Оригинальная статья

Программный модуль для построения оптимального графика переработки сырья

Д. В. Баландин, О. А. Кузенков*, В. К. Вильданов

ФГАОУ ВО «Национальный исследовательский Нижегородский государственный университет им. Н. И. Лобачевского», г. Нижний Новгород, Российская Федерация 603022, Российская Федерация, г. Нижний Новгород, пр. Гагарина, д. 23 * kuzenkov_o@mail.ru

Аннотация

Одной из областей применения программных средств является организация технологического процесса, составление графика работы оборудования. Значимость проблемы оптимизации технологического режима объясняется тем, что часто изменение графика не требует привлечения дополнительных ресурсов, а отдача от выбора оптимальной последовательности стандартных операций порой сравнима с выигрышем от модернизации оборудования. Цель настоящего исследования состоит в разработке программного модуля для составления оптимального графика переработки сахарной свеклы. В основе создаваемого программного модуля лежит метод оптимизации, который можно рассматривать как модифицированный метод ветвей и границ или модифицированный метод динамического программирования. Построенный алгоритм на основе идей метода ветвей и границ позволяет существенно снизить необходимое число вычислений и сравнений. Программный модуль был реализован на языке программирования Python 3. Несмотря на невысокое быстродействие интерпретируемых языков, данный выбор позволяет, с одной стороны, ускорить разработку прототипа, а, с другой стороны, допускает в дальнейшем использование модулей для быстрой обработки массивов. Первая подпрограмма реализует инициализацию словаря, в котором ключу, содержащему сочетание из двух элементов множества номеров технологических этапов, соответствует перестановка, приводящая к максимальному выходу и значение этого выхода. В дальнейшем структура словаря не меняется, лишь увеличивается количество элементов в сочетании и соответствующей перестановке. Вторая подпрограмма для данного сочетания (представленного в виде упорядоченного кортежа значений) осуществляет поиск перестановки, обеспечивающей максимальный выход продукта. Благодаря структуре словаря, поиск реализован очень легко. Для сравнения эффективности работы созданного программного обеспечения был реализован также «жадный» алгоритм. Его стратегия состоит в том, что на каждом технологическом этапе обрабатывается сорт свеклы, обеспечивающий наибольший выход продукта на данном этапе. Выход сахара, получаемый «жадным» алгоритмом меньше либо равен максимальному выходу, однако, показано, что «жадная» стратегия обеспечивает большой выход лишь на первых этапах технологической обработки, и теряет на последних этапах по сравнению с реализованным оптимальным алгоритмом.

Ключевые слова: дискретная оптимизация, метод ветвей и границ, график переработки сырья, максимизация выхода продукции, сахарная свекла, сахаристость, программный модуль

Контент доступен под лицензией Creative Commons Attribution 4.0 License. The content is available under Creative Commons Attribution 4.0 License.

Современные информационные технологии и ИТ-образование

Том 17, № 2. 2021

ISSN 2411-1473

sitito.cs.msu.ru

Финансирование: работа выполнена по договору № ССЗ-1771 от 22.04.2021 г. на выполнение НИОКТР на тему: «Создание высокотехнологичного производства сахара на базе АО «Сер-гачский сахарный завод», в рамках реализации Соглашения о предоставлении из федерального бюджета субсидии на развитие кооперации российской образовательной организации высшего образования и организации реального сектора экономики в целях реализации комплексного проекта по созданию высокотехнологичного производства № 075-11-2021-038 от 24.06.2021 г. (ИГК 000000S407521QLA0002).

Авторы заявляют об отсутствии конфликта интересов.

Для цитирования: Баландин, Д. В. Программный модуль для построения оптимального графика переработки сырья / Д. В. Баландин, О. А. Кузенков, В. К. Вильданов. - DOI 10.25559/ SITITO.17.202102.442-452 // Современные информационные технологии и ИТ-образование. -2021. - Т. 17, № 2. - С. 442-452.

Modern Information Technologies and IT-Education

SCIENTIFIC SOFTWARE IN EDUCATION AND SCIENCE

A Software Module for Building an Optimal Schedule for Processing Raw Materials

D. V. Balandin, O. A. Kuzenkov*, V. K. Vildanov

National Research Lobachevsky State University of Nizhny Novgorod, Nizhny Novgorod, Russian Federation

23 Gagarin Ave., Nizhny Novgorod 603022, Russian Federation * kuzenkov_o@mail.ru

One of the areas of application of software is the organization of the technological process, the scheduling of the equipment. The importance of the problem of optimization of the technological regime is explained by the fact that often a change in the schedule does not require the involvement of additional resources, and the return on the choice of the optimal sequence of standard operations is sometimes comparable to the gain from the modernization of equipment. The purpose of this study is to develop a software module for drawing up an optimal sugar beet processing schedule. The created software module is based on the optimization method, which can be considered as a modified branch-and-bound method or a modified dynamic programming method. The constructed algorithm based on the ideas of the branch and bound method can significantly reduce the required number of calculations and comparisons. The program module was implemented in the Python 3 programming language. Despite the low speed of interpreted languages, this choice allows, on the one hand, to speed up the development of a prototype, and, on the other hand, allows further use of modules for fast processing of arrays. The first subroutine implements the initialization of the dictionary, in which a permutation leading to the maximum output and the value of this output corresponds to the key containing a combination of two elements of the set of numbers of technological stages. Due to the structure of the dictionary, the search is very easy. To compare the efficiency of the created software, a greedy algorithm was also implemented. His strategy is that at each technological stage, the beet variety is processed that provides the highest product yield at this stage. The sugar yield obtained by the "greedy" algorithm is less than or equal to the maximum yield, however, it is shown that the "greedy" strategy provides a large yield only at the first stages of technological processing, and loses at the last stages in comparison with the implemented optimal algorithm.

Keywords: discrete optimization, branch-and-bound method, raw material processing schedule, yield maximization, sugar beet, sugar content, software module

Funding: the work was carried out under contract No. CC3-1771 dated April 22, 2021 for the implementation of R&D on the topic: "Development of High-Tech Sugar Production on the Basis of Sergach Sugar Plant JSC", as part of the implementation of the Agreement on the provision of subsidies from the federal budget for the development of cooperation between a Russian educational institution of higher education and an organization of the real sector of the economy in order to implement a comprehensive project to create of high-tech production No. 075-11-2021-038 dated 06/24/2021 (IGK 000000S407521QLA0002).

The authors declare no conflict of interest.

For citation: Balandin D.V., Kuzenkov O.A., Vildanov V.K. A Software Module for Building an Optimal Schedule for Processing Raw Materials. Sovremennye informacionnye tehnologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2021; 17(2):442-452. DOI: https://doi.org/10.25559/ SITITO.17.202102.442-452

Abstract

Современные информационные технологии и ИТ-образование

Том 17, № 2. 2021 ISSN 2411-1473 sitito.cs.msu.ru

Введение

Материалы и методы

Сейчас информационные технологии широко применяются для управления производственными процессами разнообразных промышленных производств [1]. Одной из областей применения программных средств является организация технологического процесса, составление графика работы оборудования [2]. Значимость проблемы оптимизации технологического режима объясняется тем, что часто изменение графика не требует привлечения дополнительных ресурсов, а отдача от выбора оптимальной последовательности стандартных операций порой сравнима с выигрышем от модернизации оборудования.

Эта проблема особенно актуальна для пищевой промышленности и промышленности, перерабатывающей сельскохозяйственные продукты [3-5]. Здесь производственный процесс обеспечивается сырьем, заготовленным в течение краткого периода созревания и сохраняющегося относительно продолжительное время до переработки [6-9]. Во время хранения разные сорта сырья с разной скоростью снижают свою производственную ценность. Подбор оптимального графика переработки разных партий сырья позволяет существенно снизить производственные потери [10-12].

Указанная проблема характерна, в частности, для производства сахара [13-16]. Здесь сырьем служит сахарная свекла, которая заготавливается осенью для обеспечения производства в течение нескольких последующих месяцев. Во время хранения на кагатных полях происходит деградация сырья с соответствующим снижением процента сахаристости. Проблемы организации производства сахара из сахарной свеклы рассматривались в [17]. При этом вопрос о выборе оптимальной последовательности переработки разных партий сахарной свеклы при условии неоднородной потери ими сахаристости во время хранения пока еще остается открытым. Реальные производства нуждаются в надежных программных средствах, позволяющих дать рекомендации для построения оптимального графика переработки для повышения производительности [18-20].

В то же время сложность задачи требует проведения компьютерных расчетов и широкого применения идей оптимизации [2122]. В настоящее время идеи оптимизации используются для организации работы сложных систем, свойственных современным производственным процессам [23]. Программное обеспечение для обслуживания таких процессов разрабатывается на основе алгоритмов теории оптимального управления, динамического программирования, дискретной оптимизации [24-25]. Цель настоящего исследования состоит в разработке программного модуля для составления оптимального графика переработки сахарной свеклы. Этот модуль в дальнейшем может быть использован для разработки соответствующего программного обеспечения.

В основе создаваемого программного модуля лежит предложенный здесь метод оптимизации, который можно рассматривать как модифицированный метод ветвей и границ или модифицированный метод динамического программирования. Кроме того, разработанные программные средства снабжены удобным пользовательским интерфейсом для обеспечения процесса принятия решения.

Будем исходить из следующих основных предположений. На кагатных полях складированы различные сорта сахарной свеклы, подлежащей переработке на сахарном заводе. Каждый сорт отличается от другого процентом содержания сахара или сахаристостью, которая обычно выражается в процентах и позволяет оценить массу сахара, которую потенциально можно получить при переработке данного сорта свеклы. Обозначим величину сахаристости каждого сорта , полагая, что каждое значение есть положительное не превышающее единицы число. Будем далее полагать, что переработка сахарной свеклы длится одинаковых этапов переработки (например, дней). В течение каждого такого этапа величина сахаристости свеклы не меняется, а в течение всего времени переработки свеклы показатель сахаристости деградирует в сторону её уменьшения.

Введем положительных не превышающих единицы чисел Ь ^, определяющих коэффициенты деградации у-го сорта сахарной свеклы на соответствующем этапе переработки. То есть за время хранения на у-м периоде i-aя партия сырья теряет некоторую долю своей производственной ценности (свекла снижает свою сахаристость), равную Ь^ . Тогда у ;-ой партии сырья производственная ценность будет изменяться следующим образом: а:Ьа - после первого периода, а:ЬпЬ:2 -после второго, аЪаЪа...Ъы_1 - после последнего (если, конечно, она не будет переработана до этого).

Предположим, что на каждом этапе перерабатывается одна и та же масса корнеплодов данного сорта. На практике число различных сортов сахарной свеклы, как правило, меньше числа этапов переработки. Однако, для удобства описания полагаем, что общее число параметров равное совпадает с общим числом периодов переработкиТакое представление позволяет описывать и переработку одного и того же сорта свеклы в течение нескольких этапов. В этом случае показатели сахаристости свеклы полагаются одинаковыми, например,

= +1 = = •" Пусть партии сырья занумерованы в порядке их обработки. Тогда суммарный выход сахара можно оценить следующим выражением

а1 + а2Ь21 + азЬ 31 Ьз2 + ... + аА 1Ь„2 .А„-1

Задача состоит в том, чтобы подобрать последовательность переработки партий сырья так, чтобы этот выход был максимальным.

Всего существует п! различных перестановок (различных графиков переработки) п партий сырья, т.е. в общем случае нужно вычислить и сравнить п! значений функции выхода. Построенный здесь алгоритм на основе идей метода ветвей и границ позволяет существенно снизить необходимое число вычислений.

Кроме описания алгоритма в общем виде приведем также иллюстрацию его работы на примере четырех сортов свеклы, занумерованных в произвольном порядке: 1, 2, 3, 4. Пусть им соответствует таблица сахаристости и потерь по периодам обработки (Таблица 1).

Modern Information Technologies and IT-Education

Т а б л и ц а 1. Исходные данные T a b l e 1. Source data

Номера партий 1 2 3 4

Сахаристость 0.6 0.7 0.8 0.9

Потери на 1 периоде 0.5 0.5 0.5 0.1

Потери на 2 периоде 0.5 0.5 0.1 0.5

Потери на 3 периоде 0.5 0.1 0.5 0.5

На первом шаге алгоритма нужно из n партий выделить всевозможные пары. Всего таких пар будет

C2 = n! = n(n-1) . " (n - 2)!2! 2

Соответственно для n=4 мы формируем всевозможные выборки из четырех элементов по два - множество неупорядоченных пар.Для этого сначала фиксируем первый элемент (1). Затем в качестве второго элемента выборки берем все оставшиеся по очереди по возрастанию номера, т.е. (1,2), (1.3), (1,4). Далее берем элемент (2). В качестве второго элемента пары берем последовательно все оставшиеся с большими номерами: (2,3), (2,4). Далее берем элемент (3), в качестве второго оставшийся с большим номером (3,4).Итак, получили множество неупорядоченных выборок в следующей последовательности^), (1.3), (1,4), (2,3), (2,4), (3,4).

Это будут имена (идентификаторы) неупорядоченных пар. Обратим внимание, что в этих именах всегда второе число строго больше первого. Это свойство далее можно использовать для оперативного поиска нужной пары.

Затем в общем случае в каждой паре нужно сделать сравнение выходов. Чтобы сделать сравнение нужно вычислить два значения выхода продукта на первых двух периодах обработки для двух комбинаций партий. Всего нужно сосчитать выход после двух периодов для n(n-1) упорядоченных комбинаций пар.

Например, в рассматриваемом случае четырех партий, для первой пары (1,2) первая последовательность (1,2), выход -0.6 + 0.7-0.5 = 0.95, вторая последовательность (2,1) дает выход 0.7 + 0.6-0.5 = 1.0. Сравниваем выход, определяем лучшую последовательность - (2,1). Заносим результаты в таблицу первого периода переработки (Таблица 2).

Т а б л и ц а 2. Результат второго этапа обработки T a b l e 2. The result of the second stage of processing

Имя пары [1,2] [1,3] [1,4] [2,3] [2,4] [3.4]

Оптимальный порядок [2,1] [3,1] [4,1] [3,2] [4,2] [4,3]

Оптимальный выход 1 1.1 1.2 1.15 1.25 1.3

Больше троек нет. В итоге имеем следующие неупорядоченные тройки (1,2,3), (1,2,4), (1,3,4),(2,3,4). В дальнейшем это будут имена троек.

Далее в полученных тройках нужно сравнить значения выхода при разных последовательностях обработки. Выбираем одну тройку, например (1,2,3). Ставим на последнее место первый номер тройки - (1). Остаются два номера (2) и (3). Им соответствует неупорядоченная пара с именем (2,3), которая есть в нашей таблице результатов первого шага. Эти результаты легко найти по имени. Первое число имени - 2, поэтому двигаемся по именам до достижения 2. Затем начинаем сравнивать вторые номера имени. Находим пару с именем (2,3). Ее результаты - последовательность (3.2) и выход 1.15.

Тогда можно рассчитать выход при такой последовательности трех номеров

1.15+0.6-0.5-0.5 = 1.3. Затем на последнее место ставим второй номер выборки - 2. Для оставшихся двух первых номеров получаем пару (1,3). Снова находим ее в таблице по имени (1,3). Соответствующая ей последовательность - (3,1), выход - 1.1. Рассчитаем выход для такой последовательности

1.1+0.7-0.5-0.5-0.5=1.275. Теперь на третье место ставим оставшийся номер тройки 3. Получаем имя пары (1.2), находим в таблице, ему соответствует последовательность (1,2), выход - 1. Рассчитаем выход для такой последовательности в тройке

1+0.8-0.5-0.1=1.04. Самый большой выход был получен для последовательности (3,2,1). Строим таблицу для неупорядоченных троек(Таблица 3).

Т а б л и ц а 3. Результат третьего этапа обработки T a b l e 3. The result of the third stage of processing

Имя тройки [1,2,3] [1.2,4] [1,3,4] [2,3,4]

Оптимальная последовательность [3,2,1] [4,2.1] [4.3.1] [4,3,2]

Оптимальный выход 1.3 1.4 1.45 1.475

В общем случае число неупорядоченных троек для n элемен-т0в равно n(n - l)(n - 2)

CJ =-

n!

3!

На втором шаге алгоритма выделяются всевозможные неупорядоченные тройки элементов. Для примера выделим всевозможные неупорядоченные тройки из четырех элементов. Для этого сначала фиксируем элемент (1), затем берем следующий за ним элемент (2), затем на третье место ставим по очереди все оставшиеся элементы, получаем тройки (1,2,3) и (1,2,4). Затем после (1) ставим элемент (3), на последнее место остается единственный вариант (4), получаем тройку (1,3, 4).Затем фиксируем на первом месте элемент (2). Далее берем элементы с большими номерами (3) и (4), получаем тройку (2, 3,4).

(п - 3)!3!

В каждой тройке нужно вычислить величину выхода лишь для трех перестановок. В итоге имеем п(п - 1)(п - 2) сравнивае-

2

мых значений выхода на трех первых периодах обработки. Аналогично можно подсчитать, что для определения четвертого номера партии в четверке партий нужно сделать три сравнения и рассчитать величину выхода на четырех первых периодах обработки для четырех разных перестановок. Формально алгоритм для четверки номеров выглядит следующим образом: последовательно на четвертое (последнее) место ставится одна из четырех партий сырья, тогда оставшаяся первая тройка упорядочивается оптимальным образом согласно полученным результатам проверки троек, далее рассчитываются значения функции выхода после первых четырех периодов обработки для каждого из четырех случаев и выбирается наилучший. Всего число четверок равно

Современные информационные технологии и ИТ-образование

Том 17, № 2. 2021

ISSN 2411-1473

sitito.cs.msu.ru

с4 =-

(n - 4)!4!

n(n - l)(n - 2)(n - 3) . 4!

Следовательно, нужно просчитать величину выхода после четырех первых периодов для n(n — 1)(n — 2)(n — 3) перестановок.

3!

Для случая n=4 в результате имеем окончательный результат (Таблица 4).

Т а б л и ц а 4. Финальный результат оптимального графика обработки T a b l e 4. Final Result of Optimal Processing Schedule

Имя четверки (1,2,3, 4)

Оптимальная последовательность (4,3,2,1)

Оптимальный выход 1.55

Продолжая эти рассуждения в общем случае, получаем, что для комбинации из к элементов нужно просчитать функцию выхода после первых к периодов обработки для п(п - 1)...(п - (к -1)) перестановок.

(к—)!

Алгоритм сравнения для выборки из к партий сырья выглядит следующим образом: последовательно на к-е (последнее) место ставится одна из к партий сырья, тогда оставшийся набор из к-1 элемента упорядочивается оптимальным образом согласно результатам работы алгоритма на предыдущемк-1-м шаге, далее рассчитываются значения функции выхода для каждого из к случаев и выбирается наилучший. Всего нужно вычислить функцию выхода для следующего числа вариантов

п(п-1)(п - 2) п(п-1)(п - 2)(п - 3) п(п-1)(п - 2)...(п - (п-1)) ) + 2 + 3! +... + (п-1)!

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

= п(С;-1 + Сп2-1 +... + С-1) = п(2п-1 -1),

значение функции выхода. Используя эти данные получаем перестановку, приводящую к максимальному значению функции выхода для текущего сочетания к элементов. Для сравнения был реализован также «жадный» алгоритм. Его стратегия заключается в следующем, на каждом технологическом этапе из оставшихся сортов выбирается сорт, обеспечивающий наибольший выход продукта на этом этапе с учетом деградации. Опишем данный алгоритм подробнее. На первом этапе обработки выбирается сорт с максимальным выходом продукта (сахаристостью), обозначим его а1 , на втором этапе из неиспользованных сортов выбирается сорт, обеспечивающий максимальный выход продукции на втором этапе с учетом деградации к текущему моменту, т.е. выбираем сорт а.

'2

для которого а. Ъ , принимает максимальное значение среди

'2 '21

еще не обработанных сортов, на третьем шаге выбираем сорт для которого а. Ъ. ,Ъ,, принимает максимальное значение сре-

'3 '3 1 '3 2

ди еще не обработанных сортов и т.д. Процесс повторяется, пока все сорта не будут исчерпаны. В результате получаем последовательность обработки сортов а. , а. ,..., а.

'1 '2 'п ■

что существенно меньше, чем n! (полный перебор).

Программный модуль

Программный модуль был реализован на языке программирования Python 3. Несмотря на невысокое быстродействие интерпретируемых языков, данный выбор позволяет, с одной стороны, ускорить разработку прототипа, а, с другой стороны, допускает в дальнейшем использование модулей для быстрой обработки массивов, например, NumPy. Блок схема описанного выше алгоритма представлена на Рис. 1.

Первая подпрограмма реализует инициализацию словаря, в котором ключу, содержащему сочетание из двух элементов множества номеров технологических этапов, соответствует перестановка, приводящая к максимальному выходу и значение этого выхода. В дальнейшем структура словаря не меняется, лишь увеличивается количество элементов в сочетании и соответствующей перестановке.

Вторая подпрограмма для данного сочетания (представленного в виде упорядоченного кортежа значений) осуществляет поиск перестановки, обеспечивающей максимальный выход продукта. Благодаря структуре словаря, поиск реализован очень легко. Пусть сочетание содержит k элементов, достаточно просмотреть сочетания, содержащие k-1 элемент и получить для них из словаря соответствующие перестановку и

Начало

I

Ввод а. Ь

г = 1еп(а)

I

Инициализация словаря

1

for k in гапде(3, n)

for comPination in comPinations(n, К)

4

Поиск перестановки с

максимальным выходом

продукции для combination

Запись максимальной перестановки и выхода для ключа com Pi nation

замена словаря

;вод максимального j

выхода и этветствующей ем/ перестановки

|_Конец_|

Р и с. 1. Блок-схема алгоритма F i g. 1. Block diagram of the algorithm

n

Modern Information Technologies and IT-Education

448

Вычислительные эксперименты

С использованием разработанного программного модуля проводились следующие численные эксперименты. Первый эксперимент заключался в следующем, для каждого п от 3 до 15 генерировались 100 наборов данных: коэффициенты сахаристости и коэффициенты деградации в диапазонах, соответствующих реальным данным: а: е[0.15,0.25], й^.е [0.95,1]. Для каждого набора данных вычислялся оптимальный план и план, получаемый «жадным» алгоритмом, далее вычислялась относительная ошибка «жадного» алгоритма, т.е. потери относительно оптимального плана в долях. Для вычисления использовалась следующая формула

/>?Б — 16 04= .

f>?

0.010 0.015 0.020 0.02 Б 0.030

Р и с. 2a. Распределение потерь при n = 15 F i g. 2a. Distribution of losses at n = 15

0.005

0.010

0.015

0.020

0.025

Как оказалось, распределение потерь для данного п близко к нормальному, см. Рис. 2а, 2Ь.

Р и с. 3. Средние относительные ошибки F i g. 3. Average relative errors

Как можно видеть на Рис. 3, относительные ошибки увеличиваются с ростом количества сортов. Этот эффект еще более заметен для сортов с высокой деградацией. На Рис. 4 представлен график зависимости средней относительной ошибки от количества сортов для коэффициентов деградации btj из отрезка [0.75, 1].

0.060

Р и с. 2b. Распределение потерь при n = 10 F i g. 2b. Distribution of losses at n = 10

На этом рисунке представлены результаты эксперимента, в котором коэффициенты деградации btj принадлежат отрезку [0.95, 1]. График зависимости средней относительной ошибки от количества сортов представлен на Рис. 3.

Р и с. 4. Средние относительные ошибки F i g. 4. Average relative errors

Понятно, что выход получаемый «жадным» алгоритмом меньше либо равен максимальному выходу, однако, можно заметить, что «жадная» стратегия обеспечивает больший выход на первых этапах технологической обработки, и теряет на последних этапах (Рис. 5). На данном рисунке поэтапно представлен график выхода продукции, при использовании «жадного» алгоритма и оптимального плана, для некоторого сгенерированного набора данных. Оптимальный план для данного набора обеспечивает выход продукции приближенно равный 1.60, а «жадный» алгоритм - 1.48. Это приводит к потерям около 8%, что существенно для производства.

Современные информационные технологии и ИТ-образование

Том 17, № 2. 2021

ISSN 2411-1473

sitito.cs.msu.ru

Этап обработки

Р и с. 5. Сравнение оптимального плана и «жадного» алгоритма F i g.5. Comparison of the optimal plan and the "greedy" algorithm

Для практического применения данных алгоритмов можно сделать вывод о том, что для сортов с небольшой деградацией выход «жадной» стратегии будет не сильно отличаться от выхода оптимального плана. Кроме того, потери тем меньше, чем меньше количество сортов. И наоборот, для скоропортящихся продуктов, оптимальный план позволяет существенно сократить потери при большом разнообразии сортов и их неоднородной деградации.

В работе построен и исследован алгоритм, позволяющий получить точное решение указанной дискретной задачи оптимизации с существенным сокращением перебора. Проведен сравнительный анализ предлагаемого алгоритма с алгоритмом с «жадной» стратегией, получены выводы и рекомендации, имеющие важное практическое значение в производстве сахара.

Заключение

В результате проведенного исследования был создан программный модуль для составления оптимального графика переработки сахарной свеклы. В основе созданного программного модуля лежит метод оптимизации, который можно рассматривать как модифицированный метод ветвей и границ или модифицированный метод динамического программирования. Построенный алгоритм на основе идей метода ветвей и границ позволяет существенно снизить необходимое число вычислений и сравнений. Программный модуль был реализован на языке программирования Python 3. Несмотря на невысокое быстродействие интерпретируемых языков, данный выбор позволяет, с одной стороны, ускорить разработку прототипа, а с другой стороны, допускает в дальнейшем использование модулей для быстрой обработки массивов. Первая подпрограмма реализует инициализацию словаря, в котором ключу, содержащему сочетание из двух элементов множества номеров технологических этапов, соответствует перестановка, приводящая к максимальному выходу и значение этого выхода. В дальнейшем структура словаря не меняется, лишь увеличивается количество элементов в сочетании и соответствующей перестановке. Вторая подпрограмма для данного сочетания (представленного в виде упорядоченного кортежа значений) осуществляет поиск перестановки, обеспечива-

ющей максимальный выход продукта. Благодаря структуре словаря, поиск реализован очень легко. Для сравнения эффективности работы созданного программного обеспечения был реализован также «жадный» алгоритм. Его стратегия состоит в том, что на каждом технологическом этапе обрабатывается сорт свеклы, обеспечивающий наибольший выход продукта на данном этапе. Выход сахара, получаемый «жадным» алгоритмом меньше либо равен максимальному выходу, однако, показано, что «жадная» стратегия обеспечивает большой выход лишь на первых этапах технологической обработки, и теряет на последних этапах по сравнению с реализованным оптимальным алгоритмом.

Список использованных источников

[1] Акутаев, С. Г. Оптимизация производства на предприятиях консервной промышленности (на примере ОАО «Дербентский консервный комбинат») / С. Г. Акутаев // Фундаментальные исследования. - 2011. - № 8-2. - С. 423-430. - URL: https://elibrary.ru/item.asp?id=16456096 (дата обращения: 19.03.2021). - Рез. англ.

[2] Research directions in technology development to support real-time decisions of fresh produce logistics: A review and research agenda / J. R. Villalobos, W. E. Soto-Silva, M. C. González-Araya, R. G. González-Ramirez. - DOI 10.1016/j. compag.2019.105092 // Computers and Electronics in Agriculture. - 2019. - Vol. 167. - Article 105092.

[3] Скрипников, Ю. Г. Хранение и переработка овощей, плодов и ягод / Ю. Г. Скрипников. - М.: Агропромиздат, 1986. - 208 с.

[4] Широков, Е. П. Технология хранения и переработки плодов и овощей с основами стандартизации / Е. П. Широков. - М.: Агропромиздат, 1988. - 319 с.

[5] Технология хранения, переработки и стандартизация растениеводческой продукции / В. И. Манжесов, И. А. Попов, Д. С. Щедрин, С. В. Калашникова. - СПб.: Троицкий мост, 2014. - 704 с.

[6] Nematollahi, M. Past, present, and prospective themes of sustainable agricultural supply chains: A content analysis / M. Nematollahi, A. Tajbakhsh. - DOI 10.1016/j. jclepro.2020.122201 // Journal of Cleaner Production. -2020. - Vol. 271. - Article 122201.

[7] Agribusiness Supply Chain Risk Management: A Review of Quantitative Decision Models / G. Behzadi, M. J. O'Sullivan, T. L. Olsen, A. Zhang. - DOI 10.1016/j.omega.2017.07.005 // Omega. - 2017. - Vol. 79. - Pp. 21-42.

[8] Agri-Food Supply Chain Management: Bibliometric and Content Analyses / J. Luo, Ch. Ji, Ch. Qiu, F. Jia. - DOI 10.3390/su10051573 // Sustainability. - 2018. - Vol. 10, issue 5. - Article 1573.

[9] Agri-fresh food supply chain quality (AFSCQ): a literature review / M. M. Siddh [и др.]. - DOI 10.1108/IMDS-10-2016-0427 // Industrial Management & Data Systems. - 2017. -Vol. 117, issue 9. - Pp. 2015-2044.

[10] Shukla, M. Agri-fresh produce supply chain management: a state-of-the-art literature review / M. Shukla, S. Jharkha-ria. - DOI 10.1108/01443571311295608 // International Journal of Operations & Production Management. - 2013.

Modern Information Technologies and IT-Education

- Vol. 33, issue 2. - Pp. 114-158.

[11] Production plan for perishable agricultural products with two types of harvesting / J. Li, X. Gao, B. Guo [и др.]. - DOI 10.1016/j.inpa.2019.05.001 // Information Processing in Agriculture. - 2020. - Vol. 7, issue 1. - Pp. 83-92.

[12] Crop-related harvesting and processing planning: a review / R. D. Kusumastuti, D. Pieter van Donk, R. Teunter. - DOI 10.1016/j.ijpe.2016.01.010 // International Journal of Production Economics. - 2016. - Vol. 174. - Pp. 76-92.

[13] Supply optimization for the production of raw sugar / M. Grunow, H.-O. Gunther, R. Westinner. - DOI 10.1016/j. ijpe.2007.02.019 // International Journal of Production Economics. - 2007. - Vol. 110, issue 1-2. - Pp. 224-239.

[14] An integrated statistical and optimisation approach to increasing sugar production within a mill region / Z. Jiao, A. J. Higgins, D. B. Prestwidge. - DOI 10.1016/j.com-pag.2005.03.004 // Computers and Electronics in Agriculture. - 2005. - Vol. 48, issue 2. - Pp. 170-181.

[15] Morales Chavez, M. Multiobjetive stochastic scheduling of upstream operations in a sustainable sugarcane supply chain / M. Morales Chavez [и др.]. - DOI 10.1016/j.jcle-pro.2020.123305 // Journal of Cleaner Production. - 2020.

- Vol. 276. - Article 123305.

[16] Junqueira, R. Modeling and solving a sugarcane harvest front scheduling problem / R. Junqueira, R. Morabito. - DOI 10.1016/j.ijpe.2019.03.009 // International Journal of Production Economics. - 2019. - Vol. 213. - Pp. 150-106.

[17] Методы оценки технологических качеств сахарной свёклы с использованием показателей содержания калия, натрия и а-аминного азота, определённых в свёкле и продуктах её переработки / В. Н. Кухар, А. П. Чернявский, Л. И. Чернявская, Ю. А. Моканюк // Сахар.

- 2019. - № 1. - С. 18-36. - URL: https://elibrary.ru/item. asp?id=36791492 (дата обращения: 19.03.2021). - Рез. англ.

[18] Ramos-Castillo, M. Optimal agricultural spreading scheduling through surrogate-based optimization and MIN-LP models / M. Ramos-Castillo [и др.]. - DOI 10.1016/j. inpa.2020.02.005 // Information Processing in Agriculture.

- 2021. - Vol. 8, issue 1. - Pp. 159-172.

[19] Cheraghalipour, A. A Review of Optimization Researches in the Field of Agricultural Supply Chain / A. Cheraghalipour, E. Roghanian. - DOI 10.31031/MCDA.2020.05.000619 // Modern Concepts & Developments in Agronomy. - 2020. -Vol. 5, issue 4. - Pp. 556-560.

[20] A multi-objective approach for supporting wine grape harvest operations / M. Varas [и др.]. - DOI 10.1016/j. cie.2020.106497 // Computers & Industrial Engineering. -2020. - Vol. 145. - Article 106497.

[21] Bohle, C. A robust optimization approach to wine grape harvesting scheduling / C. Bohle, S. Maturana, J. Vera. - DOI 10.1016/j.ejor.2008.12.003 // European Journal of Operational Research. - 2010. - Vol. 200, issue 1. - Pp. 245-252.

[22] Mathematical Programming Models for Fresh Fruit Supply Chain Optimization: A Review of the Literature and Emerging Trends / T.-D. Nguyen. - DOI 10.3390/agriengineer-ing3030034 // AgriEngineering. - 2021. - Vol. 3, issue 3.

- Pp. 519-541.

[23] Taskiner, T. Optimization Models for Harvest and Production Planning in Agri-Food Supply Chain: A Systematic Review / T. Taskiner, B. Bilgen. - DOI 10.3390/logistics5030052 // Logistics. - 2021. - Vol. 5, issue 3. - Article 52.

[24] Land, A. H. An Automatic Method of Solving Discrete Programming Problems / A. H. Land, A. G. Doig. - DOI 10.2307/1910129 // Econometrica. - 1960. - Vol. 28, issue 3. - Pp. 497-520.

[25] Хохлюк, В. И. Методы дискретной оптимизации. Ч. 1 / В. И. Хохлюк. - НГУ: Новосибирск, 2013. - 154 с.

Поступила 19.03.2021; одобрена после рецензирования 18.05.2021; принята к публикации 29.05.2021.

Об авторах:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Баландин Дмитрий Владимирович, профессор кафедры дифференциальных уравнений, математического и численного анализа, Институт информационных технологий, математики и механики, ФГАОУ ВО «Национальный исследовательский Нижегородский государственный университет им. Н. И. Лобачевского» (603022, Российская Федерация, г. Нижний Новгород, пр. Гагарина, д. 23), доктор физико-математических наук, профессор, ORCID: https://orcid.org/0000-0001-7727-5924, dbalandin@yandex.ru

Кузенков Олег Анатольевич, доцент кафедры дифференциальных уравнений, математического и численного анализа, Институт информационных технологий, математики и механики, ФГАОУ ВО «Национальный исследовательский Нижегородский государственный университет им. Н. И. Лобачевского» (603022, Российская Федерация, г. Нижний Новгород, пр. Гагарина, д. 23), кандидат физико-математических наук, доцент, ORCID: https://orcid.org/0000-0001-9407-0517, kuzenkov_o@mail.ru

Вильданов Вадим Кадирович, доцент кафедры математического моделирования экономических процессов, Институт экономики и предпринимательства, ФГАОУ ВО «Национальный исследовательский Нижегородский государственный университет им. Н. И. Лобачевского» (603022, Российская Федерация, г. Нижний Новгород, пр. Гагарина, д. 23), кандидат физико-математических наук, ORCID: https://orcid.org/0000-0002-3538-7415, kadirovi4@googlemail.com

Все авторы прочитали и одобрили окончательный вариант рукописи.

References

[1] Akutaev S.G. Manufacture Optimization at the Enterprises of the Canning Industry (On the example of Public Corporation "Derbent Canning Industrial Complex"). Fundamental research. 2011; (8-2):423-430. Available at: https://eli-braryru/item.asp?id=16456096 (accessed 19.03.2021). (In Russ., abstract in Eng.)

[2] Villalobos J.R., Soto-Silva W.E., González-Araya M.C., González-Ramirez R.G. Research directions in technology development to support real-time decisions of fresh produce logistics: A review and research agenda. Computers and Electronics in Agriculture. 2019; 167:105092. (In Eng.)

Современные информационные технологии и ИТ-образование

Том 17, № 2. 2021

ISSN 2411-1473

sitito.cs.msu.ru

DOI: https://doi.Org/10.1016/j.compag.2019.105092

[3] Skripnikov Yu.G. Hranenie i pererabotka ovoshhej, plodov i jagod [Storage and processing of vegetables, fruits and berries]. Agropromizdat, Moscow; 1986. 208 p. (In Russ.)

[4] Shirokov E.P. Tehnologija hranenija i pererabotki plodov i ovoshhej s osnovami standartizacii [Technology of storage and processing of fruits and vegetables with the basics of standardization]. Agropromizdat, Moscow; 1988. 319 p. (In Russ.)

[5] Manzhesov V.I. et al. Tehnologija hranenija, pererabotki i standartizacija rastenievodcheskoj produkcii [Storage technology, processing and standardization of crop products]. Troitsky Most, SPb; 2014. 704 p. (In Russ.)

[6] Nematollahi M., Tajbakhsh A. Past, present, and prospective themes of sustainable agricultural supply chains: A content analysis. Journal of Cleaner Production. 2020; 271:122201. (In Eng.) DOI: https://doi.org/10.1016/j.jcle-pro.2020.122201

[7] Behzadi G., O'Sullivan M.J., Olsen T.L., Zhang A. Agribusiness Supply Chain Risk Management: A Review of Quantitative Decision Models. Omega. 2017; 79:21-42. (In Eng.) DOI: https://doi.org/10.1016/j.omega.2017.07.005

[8] Luo J., Ji Ch., Qiu Ch., Jia F. Agri-Food Supply Chain Management: Bibliometric and Content Analyses. Sustainability. 2018; 10(5):1573. (In Eng.) DOI: https://doi.org/10.3390/ su10051573

[9] Siddh M.M., Soni G., Jain R., Sharma M.K., Yadav V. Agri-fresh food supply chain quality (AFSCQ): a literature review. Industrial Management & Data Systems. 2017; 117(9):2015-2044. (In Eng.) DOI: https://doi.org/10.1108/IMDS-10-2016-0427

[10] Shukla M., Jharkharia S. Agri-fresh produce supply chain management: a state-of-the-art literature review. International Journal of Operations & Production Management. 2013; 33(2):114-158. (In Eng.) DOI: https://doi. org/10.1108/01443571311295608

[11] Li J., Gao X., Guo B., et al. Production plan for perishable agricultural products with two types of harvesting. Information Processing in Agriculture. 2020; 7(1):83-92. (In Eng.) DOI: https://doi.org/10.1016/j.inpa.2019.05.001

[12] Kusumastuti R.D., Pieter van Donk D., Teunter R. Crop-related harvesting and processing planning: a review. International Journal of Production Economics. 2016; 174:76-92. (In Eng.) DOI: http://dx.doi.org/10.1016/j.ijpe.2016.01.010

[13] Grunow M., Gunther H.-O., Westinner R. Supply optimization for the production of raw sugar. International Journal of Production Economics. 2007; 110(1-2):224-239. (In Eng.) DOI: https://doi.org/10.1016/j.ijpe.2007.02.019

[14] Jiao Z., Higgins A.J., Prestwidge D.B. An integrated statistical and optimisation approach to increasing sugar production within a mill region. Computers and Electronics in Agriculture. 2005; 48(2):170-181. (In Eng.) DOI: https://doi. org/10.1016/j.compag.2005.03.004

[15] Morales Chavez M., Sarache W., Costa Y., Soto J. Multiob-jetive stochastic scheduling of upstream operations in a sustainable sugarcane supply chain. Journal of Cleaner Production. 2020; 276:123305. (In Eng.) DOI: https://doi. org/10.1016/j.jclepro.2020.123305

[16] Junqueira R., Morabito R. Modeling and solving a sugarcane harvest front scheduling problem. International Journal of Production Economics. 2019; 213:150-106. (In Eng.) DOI: https://doi.org/10.1016/j.ijpe.2019.03.009

[17] Kukhar V.N., Chernyavsky A.P., Chernyavskaya L.I., Mokanyuk Yu.A. Methods for assessing the technological qualities of sugar beets using indicators of the content of potassium, sodium and a-amine nitrogen, determined in beets and products of its processing. Sahar. 2019; (1):18-36. Available at: https://elibrary.ru/item.asp?id=36791492 (accessed 19.03.2021). (In Russ., abstract in Eng.)

[18] Ramos-Castillo M., et al. Optimal agricultural spreading scheduling through surrogate-based optimization and MIN-LP models. Information Processing in Agriculture. 2021; 8(1):159-172. (In Eng.) DOI: https://doi.org/10.1016/j. inpa.2020.02.005

[19] Cheraghalipour A., Roghanian E. A Review of Optimization Researches in the Field of Agricultural Supply Chain. Modern Concepts & Developments in Agronomy. 2020; 5(4):556-560. (In Eng.) DOI: https://doi.org/10.31031/ MCDA.2020.05.000619

[20] Varas M., Basso F., Maturana S., Osorio D., Pezoa R. A multi-objective approach for supporting wine grape harvest operations. Computers & Industrial Engineering. 2020; 145:106497. (In Eng.) DOI: https://doi.org/10.1016/j. cie.2020.106497

[21] Bohle C., Maturana S., Vera J. A robust optimization approach to wine grape harvesting scheduling. European Journal of Operational Research. 2010; 200(1):245-252. (In Eng.) DOI: https://doi.org/10.1016/j.ejor.2008.12.003

[22] Nguyen T.-D., Nguyen-Quang T., Venkatadri U., Diallo C., Adams M. Mathematical Programming Models for Fresh Fruit Supply Chain Optimization: A Review of the Literature and Emerging Trends. AgriEngineering. 2021; 3(3):519-541. (In Eng.) DOI: https://doi.org/10.3390/agriengineering3030034

[23] Taskiner Tv Bilgen B. Optimization Models for Harvest and Production Planning in Agri-Food Supply Chain: A Systematic Review. Logistics. 2021; 5(3):52. (In Eng.) DOI: https:// doi.org/ 10.3390/logistics5030052

[24] Land A.H., Doig A.G. An Automatic Method of Solving Discrete Programming Problems. Econometrica. 1960; 28(3):497-520. (In Eng.) DOI: https://doi.org/10.2307/1910129

[25] Khokhlyuk V.I. Metody diskretnoj optimizacii [Discrete Optimisation Methods]. Part 1. NSU, Novosibirsk; 2013. 154 p. (In Russ.)

Submitted 19.03.2021; approved after reviewing 18.05.2021; accepted for publication 29.05.2021.

About the authors:

Dmitry V. Balandin, Professor of the Department of Differential Equations, Mathematical and Numerical Analysis, Institute of Information Technology, Mathematics and Mechanics, National Research Lobachevsky State University of Nizhny Novgorod (23 Gagarin Ave., Nizhny Novgorod 603022, Russian Federation), Dr.Sci. (Phys.-Math.), Professor, ORCID: https://orcid.org/0000-0001-7727-5924, dbalandin@yandex.ru

Oleg A. Kuzenkov, Associate Professor of the Department of Dif-

Modern Information Technologies and IT-Education

ferential Equations, Mathematical and Numerical Analysis, Institute of Information Technology, Mathematics and Mechanics, National Research Lobachevsky State University of Nizhny Novgorod (23 Gagarin Ave., Nizhny Novgorod 603022, Russian Federation), Ph.D. (Phys.-Math.), Associate Professor, ORCID: https://orcid. org/0000-0001-9407-0517, kuzenkov_o@mail.ru Vadim K. Vildanov, Associate Professor of Mathematical Modelling for Economical Processes Department, Institute of Economics and Entrepreneurship, National Research Lobachevsky State University of Nizhny Novgorod (23 Gagarin Ave., Nizhny Novgorod 603022, Russian Federation), Ph.D. (Phys.-Math.), ORCID: https://orcid. org/0000-0002-3538-7415, kadirovi4@googlemail.com

All authors have read and approved the final manuscript.

Современные информационные технологии и ИТ-образование

Том 17, № 2. 2021 ISSN 2411-1473 sitito.cs.msu.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.