Условная случайная матрица - PullRequest
0 голосов
/ 30 ноября 2018

Я хочу добавить следующие условия: получить только 1 в первой строке и столбце, а в других строках и столбцах - только 1. Вот код:

import numpy as np
import random


class city:
    def __init__(self):
        self.distance()

    def distance(self):
        self.A = np.array(
            [[0, 10, 20, 30], [10, 0, 25, 20], [20, 25, 0, 15], [30, 20, 15, 0]]
        )
        self.B = np.array(
            [
                [random.randint(0, 1) for j in range(self.A.shape[0])]
                for i in range(self.A.shape[1])
            ]
        )

    def route(self):
        n = (self.B.shape[0]) + 1
        nodes = list(range(n))
        route = [nodes.pop(random.sample(range(n - i), 1)[0]) for i in range(n)]
        return [(route[i], route[i + 1]) for i in range(n - 1)]


ob = city()
print(ob.route())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...