40
В. Левитина
Как Математик помог Бригадиру
Главная цель статья — показать, что самые простые задачи, возникшие в практике, естественно приводят кfundamentalным понятиям математики.
- Бригадир получает задачу
Наш Бригадир возглавляет бригаду из 10 человек, которая должна погрузить кирпич, находящийся на двух складах. На первом складе — 4 тысячи кирпичей, на втором — 8 тысячи. Склады устройства так, что на первом складе одновременно должны вести погрузку не менее шести рабочих, на втором могут работать от трех до шести рабочих. Бригадиру нужно распределить рабочих так, чтобы вся работа была выполена за минимальное время.
Как может поступить Бригадир? Например, так: отправить сначала всех рабочих на первый склад, а после окончания его погрузки шесть рабочих — максимальное допустимое число — перевести на второй склад. Предположим для простоты, что каждый рабочий за один час порузаем темыку кирпичей. Тогда время, за которое бригада выполнит всю работу по этому расписанию, очень high, равно (часа).
Будет ли такая организация работы налучшей? Если да, то почему? А если нет, то насколько она далека от оптимальной? Ответить на эти вопросы сам Бригадир не может. А вы? Попытайте — тогда вам будет значительно интереснее прочесть в следующих параграфах о встрече Бригадира с Математиком, к которой Бригадир обратился со своей задачей.
- Математик создает модель задачи
Прежде чем взяться за решение задачи, Математик должен создать ее математическую модель.
Если обозначить через и количество на первом и втором складах, то для каждой момента времени числа и удовлетворяют следующим условиям:
- и ,
- или ,
- или ,
- .
Этим условиям удовлетворяют такие тринадцать режимов работы: (на первом складе работает 6 человек, на втором — 4), , , , , , , , , , , и . Изображим их точками координатной плоскости (рис. 1).
Порядок, в котором применяются различные режимы работы, безразличен. Например, если бы Бригадир послал сначала шесть рабочих разгрузить второй склад, а затем всего бригади направил на первый, работа бы выполнена за те же часа. Поэтому мы можем считать, что погрузка организована так: сначала часов применяется режим , затем часов — режим и т. д. При этом может равнять нулю, т. е. режим может не использоваться. Например, при погрузке, расстояненной в п. 1, нулю не равны только и .
Пренебрежем временем переходов со склада на склад. Тогда общее время погрузки будет равно
Поскольку каждый рабочий грузит в часычку кирпичей, количество рабочих, погруженного с первого склада ( тысяч штук) и со второго склада
41
Рис. 1.
(у тысяч штук), выразятся равенствами
Фиксируем . Подставляя в (2) и (3) различные неотрицательные числа , удовлетворяющие условиями (1), мы будем получить, различные точки плоскости . Множество всех таких точек обозначаим через ; назовем его множество доступимости за время . Это называние естественно: состоит из точек плоскости с координатами, равными колчеству кирпича (в тысяч штук), который может погрузить бригада — соответственно, с первого и второго складов — за время .
Тепер задача Бригадира может быть сформирована следующим образом: составить такое расписание погрузки, при котором точка с координатами (эта точка соответствует заданным колчеством кирпича на складах) принадлежит множество и минимально.
- Математик решает задачу
Первым делом Математик просит задачу: он ограничится отисканием множества , поскольку любое множество готовится множество с коэффициентом готовности и центром готовности — началом координат.
Покажем, что множество является выпуклой оболочкой коей точек .
Вспомним, что множество точек на плоскости называется выпуклым, если вместе с любой парой своих точек оно содержит весь отрезок с концами в этих точках («Геометрия 6», п. 39). Примеры выпуклых множества приведены на рисунке 2, множества на рисунке 3 не являются выпуклыми.
В выпуклая оболочка множества — это наименьшее выпуклое множество, содержащое (рис. 4). Поскольку пересечение произвольного числа выпуклых множества выпукло (доказите!), выпуклая оболочка произвольного множества совпадает с пересечением всех выпуклых множества, содержащих (такие множества всегда — каково бы ни было — существует; почему?). Выпуклую оболочку множества принято обозначать через сопр ).
Чтобы доказать, что множество достижимости является выпуклой оболочкой множества , даим понятие выпуклой оболочки другое определение.
Рис. 2.
Рис. 3.
Рис. 4. В обеих парах правое множество есть выпуклая оболочка левого множества.
*) От латинского сопрхius («выпуклый»).
42
Для этого введем две операции с точками координатной плоскости. Суммой точек и мы будем называть точку . Произведением точки на число называем точку . Если каждой точке сопоставить вектор, определяемый парой точек , ( — начало координат), то введенные операции с точками совпадут с обычными операциями над векторами.
Докажите, что если множество выпукло, то и множество (т. е. множество точек , где ) тоже выпукло.
Определение. Точка называется выпуклой комбинацией точек , если существует также неотрицательные числа , что и .
Теорема. Выпуклая оболочка множество состоит из всевозможных выпуклых комбинаций точек из .
Доказательство. Обозначим множество выпуклых комбинаций точек из через . Если и — произвольные точки, то множество точек вида , где , совпадает с отрезком с концами , . Отсюда легко вывести, что — выпуклое множество (проделяйте это!). Кроме того, очень/no, . Следовательно, совп . Докажем теперь индукцией по , что любая выпуклая комбинация точек из принимает совп . Это будет означает, что . При соответствующое утверждение принимает вид: если , то . Это верно по определению выпуклой оболочки. Пусть теперь все выпуклы комбинации точек из принимают совп . Докажем, что тогда и выпуклая комбинация (где — точки из ) принимают :
Из следует, что
По предположению индукции
Из (4) вытекает, что точка лежит на отрезке с концами и . Так как , а conv — выпуклое множество, получаем . Теорема доказана.
Таким образом, каждая точка из conv является выпуклой комбинацией неокоторого конечного точек из . Если множество конечно, то можно считать, что каждая точка из conv есть выпуклая комбинация в всех точек из .
Оказывается, для произвольного множество на плоскости каждой точки множество совп может быть получена как выпуклая комбинация трех точек из (разумеется, для разных точки , вообще говоря, разные). Эта теорема, вернее — ее -мерный аналог, называется meoremой Кармедори. Попробуйте доказать ее!
По определению множество достижимости состоит из всевозможных точек , для которых (п. 2). Другими словами, состоит из всевозможных выпуклых комбинаций точек . По доказанному теореме
Из рисунка 1 ясно, что — множество точек четырехугольника (точка лежит на прямой ).
Чтобы найти минимальное , при котором множество содержит точку ( (рис. 5), вычислим координаты точки пересечения прямых и . Уравнение прямой, проходящей через
43
Жима работы в течение (часа) и режима работы в течение (часа). Время, которое заняла бы вся работа по расписанию, составленному Бригадиром в п. 1, было равно часа, что больше найдеенного минимального времени в раза.
Подведем итоги. Мы видим, что совсем не геометрическая задача Бригадира естественно привела нас к выпуклым фигурам на плоскости. Оказывается, понятие выпуклости может быть определено не только для геометрических — плоских или пространственных — объектов, но и в значительной более общей ситуации (например, в так называемых векторных пространствах — см. «Квант», 1976, № 4, с. 2). В таком обобщенном виде оно «работает» во многих областях математики (функциональный анализ, математическое программирование, теория игры).
С интересными задачими, решаемыми с помощью понятия выпуклости, вы можете познакомиться в книге И. М. Яглома и В. Г. Болтянского «Выпуклые фигуры» (М. — Л., Гостехидат, 1951).
Задачу Бригадира можно решать и чисто алгебраически — методами линейного программирования. О том, как это делается, расскажалось в «Кванте», 1976, № 7, с. 2. При таком подходе полезно заметить, что можно (см. рис. 1) рассматривать только те расписания, при которых
Упражнения
- Составить для Бригадира расписание, если
a) на первом складе — 16 тысяч кирпичей, на втором — 4 тысяч;
b) на первом складе одновременного должны работы не менее 7 человек. - Есть сковорода, на которой можно одновременно поджаривать две котлеты. Каждая котлета поджаривается с одной стороны одну минуту. За сколько времени удается поджарить три котлеты?