@ Тау прав, есть много способов решить эту проблему.
- Назначать случайные координаты и брать расстояния, используя любые метри c, которые удовлетворяют неравенству треугольника.
- Назначьте случайные веса, проверьте, удовлетворяется ли неравенство треугольника, увеличьте веса любых ребер, которые его терпят неудачу.
- Назначьте случайные веса, проверьте, выполняется ли неравенство треугольника, повторите, если его не получилось.
Я также могу придумать больше стратегий. Но реальный вопрос в том, зачем вы это делаете, и есть ли какие-то скрытые требования, которые делают одно решение лучше другого.