Задача о покрытии Задано n возможных мест расположения пожарных станций. Величины Cj, j = 1,... ,n задают стоимость размещения пожарной станции в месте j. Известно m объектов, на которые должны выезжать пожарные бригады. Причем пожарной бригаде имеет смысл выезжать на объект, если он находится на расстоянии не более D км, поэтому все объекты разбиты на группы объектов Mj, которые можно достичь из пожарной станции j. Нужно определить, в каких местах разместить пожарные станции, чтобы все объекты были достижимы из действующих пожарных станций, а суммарные затраты на их размещение были бы минимальными. Построим вспомогательную матрицу (aij)m×n, чтобы задать разбиение объектов на группы: Введем n булевых переменных Целевая функция задачи — минимальные суммарные затраты на открытие станций: при ограничениях, что каждый объект должен быть достижим хотя бы из одной пожарной станции: и ограничения на значения переменных: Модели вида (3.20)-(3.22) соответствуют задачам о покрытии множества. В рассмотренной задаче допускалось, что один объект может обслуживаться несколькими пожарными станциями, неравенство (3.21) гарантировало выполнение этого условия. Заменим в (3.21) знаки неравенства на равенства: Получим более жесткое требование, которое означает, что нужно построить разбиение множества объектов на непересекающиеся подмножества. Модели вида (3.20), (3.22), (3.23) соответствуют задачам о разбиении множества на непересекающиеся подмножества. Заметим, что решение задачи о разбиении является также решением задачи о покрытии, но обратное неверно. Задача о разбиении может не иметь решения при разрешимой задачи о покрытии. Например, пусть n = 3, m = 3, Mi = {1, 2}, М2 = {1, 3}, M3 = {2, 3}. Тогда задача о покрытии имеет несколько решений: х1 = (1,0,1), х2 = (0,1,1), а задача о разбиении не разрешима. Если же М3 = {3}, то задача о разбиении имеет решение: х = (1, 0, 1).