Задача о размещении объектов: различия между версиями

Перейти к навигации Перейти к поиску
Строка 9: Строка 9:




В задаче UFL заданы множество <math>\mathcal{F}</math> из <math>n_f \;</math> ''объектов'' и множество <math>\mathcal{C} \;</math> из <math>n_c \;</math> ''клиентов'' (которые также могут называться ''городами'' или ''точками спроса''). Каждому объекту <math>i \in \mathcal{F}</math> назначена ''стоимость открытия объекта'' <math>f_i \;</math>. Кроме того, для каждого объекта <math>i \in \mathcal{F}</math> и клиента <math>j \in \mathcal{C}</math> задана ''стоимость соединения'' <math>c_{ij} \;</math>. Задача заключается в открытии подмножества объектов и соединении каждого клиента с открытым объектом таким образом, чтобы общая стоимость была минимальной. Заметим, что после определения множества открытых объектов оптимальным является соединение каждого клиента с открытым объектом, имеющее минимальную стоимость. Таким образом, задача заключается в нахождении множества <math>S \subseteq \mathcal{F}</math>, минимизирующего значение <math>\sum_{i \in S} f_i + \sum_{j \in C} min_{i \in S} \{ c_{ij} \}</math>. Это определение и определения других вариантов задачи о размещении объектов далее будут предполагать единичный спрос у каждого клиента. Обобщение определений до случая с заданным спросом у каждого отдельного клиента является тривиальным. Задачу UFL можно сформулировать в виде следующей целочисленной программы, предложенной Балински [7]. Пусть <math>y_i, i \in \mathcal{F}</math>, равно 1 в случае, если объект открыт, и 0 в противном случае. <math>Пусть x_{ij}, i \in \mathcal{F}, j \in \mathcal{C}</math>, – доля клиента j, назначенная объекту i.
В задаче UFL заданы множество <math>\mathcal{F}</math> из <math>n_f \;</math> ''объектов'' и множество <math>\mathcal{C} \;</math> из <math>n_c \;</math> ''клиентов'' (которые также могут называться ''городами'' или ''точками спроса''). Каждому объекту <math>i \in \mathcal{F}</math> назначена ''стоимость открытия объекта'' <math>f_i \;</math>. Кроме того, для каждого объекта <math>i \in \mathcal{F}</math> и клиента <math>j \in \mathcal{C}</math> задана ''стоимость соединения'' <math>c_{ij} \;</math>. Задача заключается в открытии подмножества объектов и соединении каждого клиента с открытым объектом таким образом, чтобы общая стоимость была минимальной. Заметим, что после определения множества открытых объектов оптимальным является соединение каждого клиента с открытым объектом, имеющее минимальную стоимость. Таким образом, задача заключается в нахождении множества <math>S \subseteq \mathcal{F}</math>, минимизирующего значение <math>\sum_{i \in S} f_i + \sum_{j \in C} min_{i \in S} \{ c_{ij} \}</math>. Это определение и определения других вариантов задачи о размещении объектов далее будут предполагать единичный спрос у каждого клиента. Обобщение определений до случая с заданным спросом у каждого отдельного клиента является тривиальным. Задачу UFL можно сформулировать в виде следующей целочисленной программы, предложенной Балински [7]. Пусть <math>y_i, i \in \mathcal{F},</math> равно 1 в случае, если объект открыт, и 0 в противном случае. <math>Пусть x_{ij}, i \in \mathcal{F}, j \in \mathcal{C}</math>, – доля клиента j, назначенная объекту i.




min Xi 2F fi yi +X i2F Xj 2C ci jxi j (1)
(1) <math>min \sum_{i \in \mathcal{F}} f_i y_i + \sum_{i \in \mathcal{F}} \sum_{j \in \mathcal{C}} c_{ij} x_{ij}</math>
при условии Xi2F
 
xi j = 1; для всех j 2 C; (2)
(2) при условии <math>\sum_{i \in \mathcal{F}} x_{ij} = 1</math> для всех <math>j \in \mathcal{C}</math>,
 
xi j _ yi _ 0; для всех i 2 F; j 2 C (3)
xi j _ yi _ 0; для всех i 2 F; j 2 C (3)
x _ 0; y 2 f0; 1gn f (4)
x _ 0; y 2 f0; 1gn f (4)
4551

правка

Навигация