Квант
Разное

Как Математик помог Бригадиру

Левитина В.

40

В. Левитина

Как Математик помог Бригадиру

Главная цель статья — показать, что самые простые задачи, возникшие в практике, естественно приводят кfundamentalным понятиям математики.

  1. Бригадир получает задачу

Наш Бригадир возглавляет бригаду из 10 человек, которая должна погрузить кирпич, находящийся на двух складах. На первом складе — 4 тысячи кирпичей, на втором — 8 тысячи. Склады устройства так, что на первом складе одновременно должны вести погрузку не менее шести рабочих, на втором могут работать от трех до шести рабочих. Бригадиру нужно распределить рабочих так, чтобы вся работа была выполена за минимальное время.

Как может поступить Бригадир? Например, так: отправить сначала всех рабочих на первый склад, а после окончания его погрузки шесть рабочих — максимальное допустимое число — перевести на второй склад. Предположим для простоты, что каждый рабочий за один час порузаем темыку кирпичей. Тогда время, за которое бригада выполнит всю работу по этому расписанию, очень high, равно 410+86=11115\frac{4}{10} + \frac{8}{6} = 1\frac{11}{15} (часа).

Будет ли такая организация работы налучшей? Если да, то почему? А если нет, то насколько она далека от оптимальной? Ответить на эти вопросы сам Бригадир не может. А вы? Попытайте — тогда вам будет значительно интереснее прочесть в следующих параграфах о встрече Бригадира с Математиком, к которой Бригадир обратился со своей задачей.

  1. Математик создает модель задачи

Прежде чем взяться за решение задачи, Математик должен создать ее математическую модель.

Если обозначить через uu и vv количество на первом и втором складах, то для каждой момента времени числа uu и vv удовлетворяют следующим условиям:

  1. u∈Zu \in \mathbb{Z} и v∈Zv \in \mathbb{Z},
  2. 6≤u≤106 \leq u \leq 10 или u=0u=0,
  3. 3≤v≤63 \leq v \leq 6 или v=0v=0,
  4. u+v≤10u + v \leq 10.

Этим условиям удовлетворяют такие тринадцать режимов работы: ⟨6,4⟩\langle 6,4 \rangle (на первом складе работает 6 человек, на втором — 4), ⟨7,3⟩\langle 7,3 \rangle, ⟨6,3⟩\langle 6,3 \rangle, ⟨10,0⟩\langle 10,0 \rangle, ⟨9,0⟩\langle 9,0 \rangle, ⟨8,0⟩\langle 8,0 \rangle, ⟨7,0⟩\langle 7,0 \rangle, ⟨6,0⟩\langle 6,0 \rangle, ⟨0,0⟩\langle 0,0 \rangle, ⟨0,3⟩\langle 0,3 \rangle, ⟨0,4⟩\langle 0,4 \rangle, ⟨0,5⟩\langle 0,5 \rangle и ⟨0,6⟩\langle 0,6 \rangle. Изображим их точками координатной плоскости (рис. 1).

Порядок, в котором применяются различные режимы работы, безразличен. Например, если бы Бригадир послал сначала шесть рабочих разгрузить второй склад, а затем всего бригади направил на первый, работа бы выполнена за те же 111151\frac{11}{15} часа. Поэтому мы можем считать, что погрузка организована так: сначала t1t_1 часов применяется режим α1\alpha_1, затем t2t_2 часов — режим α2\alpha_2 и т. д. При этом tit_i может равнять нулю, т. е. режим αi\alpha_i может не использоваться. Например, при погрузке, расстояненной в п. 1, нулю не равны только t4=410t_4 = \frac{4}{10} и t13=86t_{13} = \frac{8}{6}.

Пренебрежем временем переходов со склада на склад. Тогда общее время погрузки tt будет равно

t=t1+t2+⋯+t12+t13.(1)t = t_1 + t_2 + \dots + t_{12} + t_{13}. \tag{1}

Поскольку каждый рабочий грузит в часычку кирпичей, количество рабочих, погруженного с первого склада (xx тысяч штук) и со второго склада

41

Рис. 1.

(у тысяч штук), выразятся равенствами
x=6t1+7t2+…+0t12+0t13,x = 6t_1 + 7t_2 + \ldots + 0t_{12} + 0t_{13},
y=4t1+3t2+…+5t12+6t13.y = 4t_1 + 3t_2 + \ldots + 5t_{12} + 6t_{13}.
Фиксируем tt. Подставляя в (2) и (3) различные неотрицательные числа t1,t2,…,t13t_1, t_2, \ldots, t_{13}, удовлетворяющие условиями (1), мы будем получить, различные точки плоскости ⟨x,y⟩\langle x, y \rangle. Множество всех таких точек обозначаим через AtA_t; назовем его множество доступимости за время tt. Это называние естественно: AtA_t состоит из точек плоскости с координатами, равными колчеству кирпича (в тысяч штук), который может погрузить бригада — соответственно, с первого и второго складов — за время tt.

Тепер задача Бригадира может быть сформирована следующим образом: составить такое расписание погрузки, при котором точка с координатами ⟨4,8⟩\langle 4, 8 \rangle (эта точка соответствует заданным колчеством кирпича на складах) принадлежит множество AtA_t и tt минимально.

  1. Математик решает задачу

Первым делом Математик просит задачу: он ограничится отисканием множества A1A_1, поскольку любое множество AtA_t готовится множество A1A_1 с коэффициентом готовности tt и центром готовности — началом координат.

Покажем, что множество A1A_1 является выпуклой оболочкой коей точек α1,α2,…,α13\alpha_1, \alpha_2, \ldots, \alpha_{13}.

Вспомним, что множество MM точек на плоскости называется выпуклым, если вместе с любой парой своих точек оно содержит весь отрезок с концами в этих точках («Геометрия 6», п. 39). Примеры выпуклых множества приведены на рисунке 2, множества на рисунке 3 не являются выпуклыми.

В выпуклая оболочка множества MM — это наименьшее выпуклое множество, содержащое MM (рис. 4). Поскольку пересечение произвольного числа выпуклых множества выпукло (доказите!), выпуклая оболочка произвольного множества MM совпадает с пересечением всех выпуклых множества, содержащих MM (такие множества всегда — каково бы ни было MM — существует; почему?). Выпуклую оболочку множества MM принято обозначать через сопр M∗M^*).

Чтобы доказать, что множество достижимости A1A_1 является выпуклой оболочкой множества {α1,α2,…,α13}\{\alpha_1, \alpha_2, \ldots, \alpha_{13}\}, даим понятие выпуклой оболочки другое определение.

Рис. 2.

Рис. 3.

Рис. 4. В обеих парах правое множество есть выпуклая оболочка левого множества.

*) От латинского сопрхius («выпуклый»).

42

Для этого введем две операции с точками координатной плоскости. Суммой точек ⟨x1,y1⟩\langle x_1, y_1 \rangle и ⟨x2,y2⟩\langle x_2, y_2 \rangle мы будем называть точку ⟨x1+x2,y1+y2⟩\langle x_1 + x_2, y_1 + y_2 \rangle. Произведением точки ⟨x,y⟩\langle x, y \rangle на число tt называем точку ⟨tx,ty⟩\langle tx, ty \rangle. Если каждой точке α\alpha сопоставить вектор, определяемый парой точек OO, α\alpha (OO — начало координат), то введенные операции с точками совпадут с обычными операциями над векторами.

Докажите, что если множество MM выпукло, то и множество tMtM (т. е. множество точек tβt\beta, где β∈M\beta \in M) тоже выпукло.

Определение. Точка β\beta называется выпуклой комбинацией точек β1,β2,…,βn\beta_1, \beta_2, \dots, \beta_n, если существует также неотрицательные числа t1,t2,…,tnt_1, t_2, \dots, t_n, что t1+t2+⋯+tn=1t_1 + t_2 + \dots + t_n = 1 и β=t1β1+t2β2+⋯+tnβn\beta = t_1\beta_1 + t_2\beta_2 + \dots + t_n\beta_n.

Теорема. Выпуклая оболочка множество MM состоит из всевозможных выпуклых комбинаций точек из MM.

Доказательство. Обозначим множество выпуклых комбинаций точек из MM через QQ. Если γ\gamma и δ\delta — произвольные точки, то множество точек вида tγ+(1−t)δt\gamma + (1-t)\delta, где 0≤t≤10 \leq t \leq 1, совпадает с отрезком с концами γ\gamma, δ\delta. Отсюда легко вывести, что QQ — выпуклое множество (проделяйте это!). Кроме того, очень/no, M⊂QM \subset Q. Следовательно, совп M⊂QM \subset Q. Докажем теперь индукцией по nn, что любая выпуклая комбинация t1β1+t2β2+⋯+tnβn(t1+t2+⋯+tn=1)t_1\beta_1 + t_2\beta_2 + \dots + t_n\beta_n(t_1 + t_2 + \dots + t_n = 1) точек из MM принимает совп MM. Это будет означает, что Q⊂conv MQ \subset \text{conv } M. При n=1n = 1 соответствующое утверждение принимает вид: если β∈M\beta \in M, то β∈conv M\beta \in \text{conv } M. Это верно по определению выпуклой оболочки. Пусть теперь все выпуклы комбинации nn точек из MM принимают совп MM. Докажем, что тогда и выпуклая комбинация δ=t1β1+t2β2+⋯+tnβn+tn+1βn+1\delta = t_1\beta_1 + t_2\beta_2 + \dots + t_n\beta_n + t_{n+1}\beta_{n+1} (где β1,β2,…,βn,βn+1\beta_1, \beta_2, \dots, \beta_n, \beta_{n+1} — точки из MM) принимают MM:

δ=(1−tn+1)[t11−tn+1β1+t21−tn+1β2+⋯+tn1−tn+1βn]+tn+1βn+1.\delta = (1 - t_{n+1}) \left[ \frac{t_1}{1 - t_{n+1}}\beta_1 + \frac{t_2}{1 - t_{n+1}}\beta_2 + \dots + \frac{t_n}{1 - t_{n+1}}\beta_n \right] + t_{n+1}\beta_{n+1}.

Из t1+t2+⋯+tn+tn+1=1t_1 + t_2 + \dots + t_n + t_{n+1} = 1 следует, что

t11−tn+1+t21−tn+1+⋯+tn1−tn+1=1.\frac{t_1}{1 - t_{n+1}} + \frac{t_2}{1 - t_{n+1}} + \dots + \frac{t_n}{1 - t_{n+1}} = 1.

По предположению индукции

η=t11−tn+1β1+t21−tn+1β2+⋯+tn1−tn+1βn∈conv M.\eta = \frac{t_1}{1 - t_{n+1}}\beta_1 + \frac{t_2}{1 - t_{n+1}}\beta_2 + \dots + \frac{t_n}{1 - t_{n+1}}\beta_n \in \text{conv } M.

Из (4) вытекает, что точка δ\delta лежит на отрезке с концами η\eta и βn+1\beta_{n+1}. Так как βn+1∈M⊂conv M\beta_{n+1} \in M \subset \text{conv } M, а conv MM — выпуклое множество, получаем δ∈conv M\delta \in \text{conv } M. Теорема доказана.

Таким образом, каждая точка из conv MM является выпуклой комбинацией неокоторого конечного точек из MM. Если множество MM конечно, то можно считать, что каждая точка из conv MM есть выпуклая комбинация в всех точек из MM.

Оказывается, для произвольного множество MM на плоскости каждой точки β\beta множество совп MM может быть получена как выпуклая комбинация трех точек β1,β2,β3\beta_1, \beta_2, \beta_3 из MM (разумеется, для разных β\beta точки β1,β2,β3\beta_1, \beta_2, \beta_3, вообще говоря, разные). Эта теорема, вернее — ее nn-мерный аналог, называется meoremой Кармедори. Попробуйте доказать ее!

По определению множество достижимости A1A_1 состоит из всевозможных точек t1α1+t2α2+⋯+t13α13t_1\alpha_1 + t_2\alpha_2 + \dots + t_{13}\alpha_{13}, для которых t1+t2+⋯+t13=1t_1 + t_2 + \dots + t_{13} = 1 (п. 2). Другими словами, A1A_1 состоит из всевозможных выпуклых комбинаций точек α1,α2,…,α13\alpha_1, \alpha_2, \dots, \alpha_{13}. По доказанному теореме

A1=conv{α1,α2,…,α13}.A_1 = \text{conv} \{ \alpha_1, \alpha_2, \dots, \alpha_{13} \}.

Из рисунка 1 ясно, что A1A_1 — множество точек четырехугольника α1α2α3α13\alpha_1\alpha_2\alpha_3\alpha_{13} (точка α2\alpha_2 лежит на прямой α1α4\alpha_1\alpha_4).

Чтобы найти минимальное tt, при котором множество At=t⋅A1A_t = t \cdot A_1 содержит точку β\beta (⟨4,8⟩\langle 4, 8 \rangle (рис. 5), вычислим координаты точки γ\gamma пересечения прямых α9\alpha_9 β\beta и α1α13\alpha_1\alpha_{13}. Уравнение прямой, проходящей через

43

Жима работы α1\alpha_1 в течение t⋅t1=89t \cdot t_1 = \frac{8}{9} (часа) и режима работы α13\alpha_{13} в течение t⋅t13=23t \cdot t_{13} = \frac{2}{3} (часа). Время, которое заняла бы вся работа по расписанию, составленному Бригадиром в п. 1, было равно 111151 \frac{11}{15} часа, что больше найдеенного минимального времени в 14351 \frac{4}{35} раза.

Подведем итоги. Мы видим, что совсем не геометрическая задача Бригадира естественно привела нас к выпуклым фигурам на плоскости. Оказывается, понятие выпуклости может быть определено не только для геометрических — плоских или пространственных — объектов, но и в значительной более общей ситуации (например, в так называемых векторных пространствах — см. «Квант», 1976, № 4, с. 2). В таком обобщенном виде оно «работает» во многих областях математики (функциональный анализ, математическое программирование, теория игры).

С интересными задачими, решаемыми с помощью понятия выпуклости, вы можете познакомиться в книге И. М. Яглома и В. Г. Болтянского «Выпуклые фигуры» (М. — Л., Гостехидат, 1951).

Задачу Бригадира можно решать и чисто алгебраически — методами линейного программирования. О том, как это делается, расскажалось в «Кванте», 1976, № 7, с. 2. При таком подходе полезно заметить, что можно (см. рис. 1) рассматривать только те расписания, при которых

t3=t5=t6=t7=t8=t9=t10=t11=t12=0.t_3 = t_5 = t_6 = t_7 = t_8 = t_9 = t_{10} = t_{11} = t_{12} = 0.

Упражнения

  1. Составить для Бригадира расписание, если
    a) на первом складе — 16 тысяч кирпичей, на втором — 4 тысяч;
    b) на первом складе одновременного должны работы не менее 7 человек.
  2. Есть сковорода, на которой можно одновременно поджаривать две котлеты. Каждая котлета поджаривается с одной стороны одну минуту. За сколько времени удается поджарить три котлеты?