コード例 #1
0
    def test_compute(self):
        strategy = jit.SamplingInsertionStrategy()
        route = generate_one_route(planned_trips_min=10)
        trips = generate_trips(5)

        conjectured_routes = strategy.compute(route, trips)  # noqa
        self.assertTrue(True)
コード例 #2
0
    def setUp(self) -> None:
        self.vehicle = generate_one_vehicle()
        self.position = generate_one_position()
        stop0 = jit.Stop(self.vehicle, self.position, None)

        stop1 = jit.Stop(self.vehicle, generate_one_position(), stop0)
        stop0.following = stop1

        stop2 = jit.Stop(self.vehicle, generate_one_position(), stop1)
        stop1.following = stop2

        stop3 = jit.Stop(self.vehicle, generate_one_position(), stop2)
        stop2.following = stop3

        stop4 = jit.Stop(self.vehicle, generate_one_position(), stop3)
        stop3.following = stop4

        stops = [stop0, stop1, stop2, stop3, stop4]
        self.stops = stops

        self.route = jit.Route(self.vehicle, self.stops)
        self.planning = jit.Planning({self.route})

        self.job = jit.Job(generate_trips(10), objective_cls=jit.DialARideObjective)
        self.fleet = jit.Fleet(generate_vehicles(10))
        self.algorithm = jit.NaiveAlgorithm(self.fleet, self.job)
        self.result = jit.Result(self.algorithm, self.planning, computation_time=float(0.0))
コード例 #3
0
ファイル: test_jobs.py プロジェクト: garciparedes/jinete
    def test_construction(self):
        trips = generate_trips(3)
        objective_cls = jit.HashCodeObjective
        job = jit.Job(trips, objective_cls)

        self.assertIsInstance(job, jit.Job)
        self.assertEqual(job.trips, trips)
        self.assertEqual(job.objective_cls, objective_cls)
コード例 #4
0
 def test_flush(self):
     job = jit.Job(generate_trips(10), objective_cls=jit.DialARideObjective)
     fleet = jit.Fleet(generate_vehicles(10))
     dispatcher = jit.StatelessInsertionIterator(job=job, fleet=fleet,)
     self.assertNotIn("iterator", dispatcher.__dict__)
     list(dispatcher.iterator)
     self.assertIn("iterator", dispatcher.__dict__)
     dispatcher.flush()
     self.assertNotIn("iterator", dispatcher.__dict__)
コード例 #5
0
 def test_creation(self):
     job = jit.Job(generate_trips(10), objective_cls=jit.DialARideObjective)
     fleet = jit.Fleet(generate_vehicles(10))
     dispatcher = jit.StatelessInsertionIterator(
         job=job, fleet=fleet, strategy_cls=partial(jit.TailInsertionStrategy, only_feasible=False)
     )
     self.assertEqual(job, dispatcher.job)
     self.assertEqual(fleet, dispatcher.fleet)
     self.assertEqual(len(job.trips), len(list(dispatcher.iterator)))
コード例 #6
0
 def setUpClass(cls) -> None:
     cls.job = jit.Job(generate_trips(10),
                       objective_cls=jit.DialARideObjective)
     cls.fleet = jit.Fleet(generate_vehicles(10))
     algorithm = jit.InsertionAlgorithm(
         job=cls.job,
         fleet=cls.fleet,
     )
     cls.initial = algorithm.optimize()
コード例 #7
0
ファイル: test_tail.py プロジェクト: garciparedes/jinete
    def test_compute(self):
        strategy = jit.TailInsertionStrategy()
        route = generate_one_route()
        trips = generate_trips(5)

        conjectured_routes = strategy.compute(route, trips, only_feasible=False)
        self.assertEqual(len(trips), len(conjectured_routes))
        # TODO: Improve assertions

        self.assertEqual(
            sum(route.feasible for route in conjectured_routes),
            len(strategy.compute(route, trips, only_feasible=True)),
        )
コード例 #8
0
 def test_flush(self):
     job = jit.Job(generate_trips(10), objective_cls=jit.DialARideObjective)
     fleet = jit.Fleet(generate_vehicles(10))
     randomized_size = 2
     dispatcher = jit.BestStatelessInsertionIterator(
         randomized_size=randomized_size,
         job=job,
         fleet=fleet,
     )
     self.assertNotIn('iterator', dispatcher.__dict__)
     list(dispatcher.iterator)
     self.assertIn('iterator', dispatcher.__dict__)
     dispatcher.flush()
     self.assertNotIn('iterator', dispatcher.__dict__)
コード例 #9
0
ファイル: test_ranking.py プロジェクト: garciparedes/jinete
 def test_creation(self):
     surface = generate_one_surface()
     job = jit.Job(
         trips=generate_trips(10, surface=surface),
         objective_cls=jit.DialARideObjective,
     )
     fleet = jit.Fleet(generate_vehicles(10, surface=surface))
     randomized_size = 2
     dispatcher = jit.RankingInsertionIterator(
         randomized_size=randomized_size,
         job=job,
         fleet=fleet,
     )
     self.assertEqual(dispatcher.randomized_size, randomized_size)
     self.assertEqual(dispatcher.job, job)
     self.assertEqual(dispatcher.fleet, fleet)
コード例 #10
0
 def setUpClass(cls) -> None:
     cls.job = jit.Job(generate_trips(10),
                       objective_cls=jit.DialARideObjective)
     cls.fleet = jit.Fleet(generate_vehicles(10))