.orderAnnounceTime(1000) .pickupTimeWindow(TimeWindow.create(60000, 80000)) .serviceDuration(180000L) .buildDTO()), TimeOutEvent.create(3000));
.pickupTimeWindow(TimeWindow.create(minute(5), minute(25))) .deliveryTimeWindow(TimeWindow.create(minute(22), minute(30))) .serviceDuration(minute(3)) .build();
.neededCapacity(0) .orderAnnounceTime(0) .serviceDuration(5) .buildDTO();
.serviceDuration(100L) .neededCapacity(2d) .build();
Parcel.builder(roadModel.getRandomPosition(rng), roadModel.getRandomPosition(rng)) .serviceDuration(SERVICE_DURATION) .neededCapacity(1 + rng.nextInt(MAX_CAPACITY)) .buildDTO()));
.pickupTimeWindow(TimeWindow.create(minute(15) + 10, minute(25))) .deliveryTimeWindow(TimeWindow.create(minute(22) + 10, minute(30))) .serviceDuration(minute(3)) .build();
Parcel.builder(roadModel.getRandomPosition(rng), roadModel.getRandomPosition(rng)) .serviceDuration(SERVICE_DURATION) .neededCapacity(1 + rng.nextInt(MAX_CAPACITY)) .buildDTO()));
.orderAnnounceTime(1000) .pickupTimeWindow(TimeWindow.create(1000, 80000)) .serviceDuration(180000L) .buildDTO()), TimeOutEvent.create(1800000));
@Test public void precisionTest() throws InterruptedException { final Parcel A = Parcel.builder(new Point(5, 5), new Point(2, 0)) .serviceDuration(180000L) .build();
.neededCapacity(0) .orderAnnounceTime(0) .serviceDuration(5) .buildDTO();
/** * Sets up simple problem with two agents and two parcels. */ @Before public void setUp() { final List<TimedEvent> events = asList( AddParcelEvent.create( Parcel.builder(new Point(0, 0), new Point(3, 3)) .orderAnnounceTime(200) .pickupTimeWindow(TimeWindow.create(1000, 2000)) .buildDTO()), AddParcelEvent.create( Parcel.builder(new Point(0, 0), new Point(3, 3)) .orderAnnounceTime(999) .pickupTimeWindow(TimeWindow.create(60000, 80000)) .serviceDuration(180000L) .buildDTO()), TimeOutEvent.create(3000)); sim = RealtimeTestHelper.init(Handler.INSTANCE, events) .addModel(RtSolverModel.builder() .withThreadPoolSize(3) .withThreadGrouping(false)) .build(); }
/** * Setup. */ @Before public void setUp() { TestUtil.testPrivateConstructor(ScheduleUtil.class); p1 = new ParcelDecorator(Parcel.builder(new Point(0, 0), new Point(1, 1)) .serviceDuration(100) .build(), "p1"); p2 = new ParcelDecorator(Parcel.builder(new Point(1, 1), new Point(1, 2)) .serviceDuration(100) .build(), "p2"); p3 = new ParcelDecorator(Parcel.builder(new Point(1, 3), new Point(1, 2)) .serviceDuration(100) .build(), "p3"); p4 = new ParcelDecorator(Parcel.builder(new Point(1, 3), new Point(1, 2)) .serviceDuration(100) .build(), "p4"); p5 = new ParcelDecorator(Parcel.builder(new Point(1, 3), new Point(1, 2)) .serviceDuration(100) .build(), "p5"); }
@Test public void testDelayedPickup() { final Parcel pack1 = Parcel.builder(new Point(1, 1), new Point(2, 2)) .serviceDuration(10L) .neededCapacity(2d) .build(); final Vehicle truck = new TestVehicle( VehicleDTO.builder() .startPosition(new Point(1, 1)) .capacity(10) .speed(1.0) .build()); model.register(pack1); model.register(truck); rm.register(pack1); rm.register(truck); model.pickup(truck, pack1, TimeLapseFactory.create(0, 1)); assertTrue(model.getContents(truck).isEmpty()); assertEquals(model.getContentsSize(truck), 0, EPSILON); truck.tick(TimeLapseFactory.create(1, 10)); assertFalse(model.getContents(truck).isEmpty()); assertTrue(model.getContents(truck).contains(pack1)); assertEquals(model.getContentsSize(truck), 2, EPSILON); }
/** * Test for changing values in builder. */ @Test public void overridingTest() { final Parcel.Builder b = Parcel.builder(new Point(0, 0), new Point(2, 2)); final IParcel dto1 = b.timeWindows(TimeWindow.create(7, 10)).buildDTO(); assertEquals(TimeWindow.create(7, 10), dto1.getPickupTimeWindow()); assertEquals(TimeWindow.create(7, 10), dto1.getDeliveryTimeWindow()); final IParcel dto2 = b.pickupTimeWindow(TimeWindow.create(8, 11)).buildDTO(); assertEquals(TimeWindow.create(8, 11), dto2.getPickupTimeWindow()); assertEquals(TimeWindow.create(7, 10), dto2.getDeliveryTimeWindow()); final IParcel dto3 = b.serviceDuration(560L).buildDTO(); assertEquals(TimeWindow.create(8, 11), dto3.getPickupTimeWindow()); assertEquals(TimeWindow.create(7, 10), dto3.getDeliveryTimeWindow()); assertEquals(560, dto3.getPickupDuration()); assertEquals(560, dto3.getDeliveryDuration()); final IParcel dto4 = b.pickupDuration(230L).buildDTO(); assertEquals(230, dto4.getPickupDuration()); assertEquals(560, dto4.getDeliveryDuration()); }
@Override public void tick(TimeLapse time) { if (time.getStartTime() > endTime) { simulator.stop(); } else if (rng.nextDouble() < NEW_CUSTOMER_PROB) { simulator.register(new Customer( Parcel .builder(roadModel.getRandomPosition(rng), roadModel.getRandomPosition(rng)) .serviceDuration(SERVICE_DURATION) .neededCapacity(1 + rng.nextInt(MAX_CAPACITY)) .buildDTO())); } }
@Override public void tick(TimeLapse time) { if (time.getStartTime() > endTime) { simulator.stop(); } else if (rng.nextDouble() < NEW_CUSTOMER_PROB) { simulator.register(new Customer( Parcel .builder(roadModel.getRandomPosition(rng), roadModel.getRandomPosition(rng)) .serviceDuration(SERVICE_DURATION) .neededCapacity(1 + rng.nextInt(MAX_CAPACITY)) .buildDTO())); } }
static AddParcelEvent createParcel(int i, long delay, Point p1, Point p2) { final long announceTime = (i + 1) * 60 * 1000; return AddParcelEvent.create( Parcel.builder(p1, p2) .orderAnnounceTime(announceTime + delay) .pickupTimeWindow( TimeWindow.create(announceTime + delay, announceTime + 1 * 60 * 1000)) .deliveryTimeWindow( TimeWindow.create(announceTime + delay + 5 * 60 * 1000, announceTime + 6 * 60 * 1000)) .serviceDuration(5 * 60 * 1000) .buildDTO()); }
static Parcel createParcel(Point origin, Point dest) { return Parcel.builder(origin, dest) .pickupTimeWindow(TW) .deliveryTimeWindow(TW) .serviceDuration(30) .build(); }
Box(Point o, Point d, long duration, BoxHandle bh) { super( Parcel.builder(o, d) .serviceDuration(duration) .neededCapacity(1d) .buildDTO()); boxHandle = bh; }
Box(Point o, Point d, long duration, BoxHandle bh) { super( Parcel.builder(o, d) .serviceDuration(duration) .neededCapacity(1d) .buildDTO()); boxHandle = bh; }