Параллельно вложенные циклы
В реальной практике наряду с задачами, использующими последовательно вложенные циклы, существуют и требуют решения варианты с параллельным вложением. Анализ большинства транспортных задач показывает, что в соответствии с конкретной постановкой, форма вложений циклов может изменяться. Типичное подтверждение этого – откорректированная задача (9.3) о доставке грузов.
Постановка задачи
В городе имеется N продуктовых магазинов. Продукты поставляет один хлебозавод. Производство ориентировано на два вида продукции: хлебобулочную и кондитерскую. Каждый магазин заказывает конкретный ассортимент (количество К хлебобулочных и массу М кондитерских изделий). Требуется рассчитать суммарное количество хлебобулочных изделий и массу кондитерских, поставляемых в каждый магазин.
Формирование математической модели
Исходные данные
N | [шт] | – число магазинов; | ||
Т | [шт] | – максимальный ассортимент хлебобулочных продуктов; | ||
P | [шт] | – максимальный ассортимент кондитерских изделий; | ||
Kil ,
1 ![]() ![]() ![]() ![]() | [шт] | – количество хлебобулочных продуктов для каждого магазина; | ||
Mij ,
1 ![]() ![]() ![]() ![]() | [кг] | – массы кондитерских изделий для каждого магазина; | ||
Расчётные зависимости
![]() | [шт] | – суммарное количество хлебобулочных изделий, поставляемых в i-й магазин; |
![]() | [кг] | – суммарная масса кондитерских изделий, поставляемых в i-й магазин; |
1 ![]() ![]() ![]() ![]() ![]() ![]() | – диапазоны изменения индексов; | |
i = i + 1, l = l+1, j = j + 1 | – законы изменения индексов. |
Выбор метода решения
Математическая модель позволяет решить задачу двумя вариантами:
· осуществить расчёт суммарного количества хлебобулочных изделий и суммарной массы кондитерских изделий по всему ассортименту, доставляемых в один магазин, а затем повторить вычисления для всех оставшихся магазинов;
· осуществить расчёт суммарного количества хлебобулочных изделий по всему ассортименту, доставляемых в один магазин, повторив вычисления для всех оставшихся магазинов, а затем осуществить расчёт суммарной массы кондитерских изделий по всему ассортименту, доставляемых в один магазин, повторив вычисления для всех оставшихся магазинов.
Выбор варианта не влияет на результаты решения, но предполагает различные схемы вложенных вычислений:
· первый – с двумя параллельно вложенными циклами;
· второй – с двукратно реализуемыми простейшими (одно вложение) последовательно вложенными циклами.
В соответствии с целью раздела выбираем первый вариант. Тогда в качестве внешнего цикла используется перебор магазинов, в качестве внутренних – изменения количества хлебобулочных изделий (изменение параметра l), завозимых в i-й магазин и изменения массы кондитерских изделий (изменение параметра j), завозимых в i-й магазин.
Следовательно, в качестве метода решения необходима структура вложенных циклов, содержащая один общий внешний и два параллельно вложенных в него внутренних цикла.