После первоначального распределения необходимо проверить соответствие кол-ва загруженных клеток условия m+n-1, где n- кол-во столбцов, m- кол-во строк. В случаи если кол-во загруженных клеток несоответствие условий необходимо вписать в матрицу одну или две эффективные загрузки равные 0, такую клетку чтобы можно было соединять все загруженные клетки в незамкнутый контур.
Далее необходимо проверить матрицу на потенциальность, для этого определим вспомогательные числа – потенциалы. В самую загруженную строку или столбец ставим потенциал=0 (для упрощения расчетов), затем из расстояния загруженной клетки вычитается потенциал «0», а результат записывается в строку или столбец находящейся на пересечение данной загруженной клетки, таким образом, по цепочки определяются все потенциалы строк и столбцов. Проверки подвергаются незагруженные клетки матрицы для них должно выполнятся условие:
Сумма потенциалов незагруженной
Клетки должна быть меньше или
Равна расстояния в этой клетки.
В случае если при проверки матрицы на потенциальность ошибки не выявлена она считается оптимальной (наилучшей).
Ликвидация потенциальных клеток.
Чтобы ликвидировать потенциальную клетку необходимо на матрице построить замкнутый контур (под прямыми углами, четное число вершин). Где контур, так чтобы одна из вершин находилась в потенциальной клетки, остальные в загруженных клетках. Далее по вершинам контура необходимо проставить знаки «+» , «-» поочередно начиная со знака «+» с вершины в потенциальной клетки. Затем из вершин имеющих знак «-» выбирается минимальные значения, которое (входит) будит вычитаться, либо прибавляя к вершинам в зависимости от знака. Новые результаты записываются в новую матрицу. Заново рассчитываются потенциалы строк и столбцов, заново проверяется матрица на потенциальность и этот процесс повторяется до тех пор, пока ни будут ликвидированы все потенциальные клетки.