Я не так хорош в линейной программировании, поэтому я размещаю эту проблему здесь. Надеюсь, кто-то может указать мне в правильном направлении. Это не проблема домашней работы, поэтому не поймите неправильно.
У меня есть матрица 5x5 (25 узлов). Расстояние между каждым node и его соседними узлами (или соседними узлами) составляет 1 единица. A node может быть в 1 из 2 условий: кеш или доступ. Если node 'i' является кешем node, узлы доступа 'j' могут получить к нему доступ со стоимостью Dij x Aij (Стоимость доступа). Dij - расстояние Манхэттена между node я и j. Aij - это частота доступа от node я до j.
Чтобы стать кешем node i, ему необходимо кэшировать из существующего кеша node k со стоимостью Dik x C, где C - постоянная целочисленного числа. (Стоимость кэша). C называется частотой кэширования.
A предоставляется как матрица 25x25, содержащая все целые числа, которые показывают частоту доступа между любой парой node я и j. D представлен как матрица 25x25, содержащая все манхэттенские расстояния между любой парой node я и j.
Предположим, что в матрице 1 кеш node, найдите набор других узлов кэша и узлов доступа, чтобы общая стоимость была минимизирована. Общая стоимость = общая стоимость кэша + общая стоимость доступа