コード例 #1
0
 public PassengerDto[] CreatePassengers(TransportInitData transportInitData)
 {
     return(Enumerable.Range(0, transportInitData.PassengersCount)
            .Select(index => new PassengerDto
     {
         Id = $"{index}",
         Quality = Math.Round(randomizer.GetRandomDouble(), 2),
         TransportType = TransportTypes.GetRandomTransportType(randomizer, transportInitData.AvailableTransportTypes),
         Satisfaction = DefaultSatisfaction,
         FirstBusQuality = 0.5
     })
            .ToArray());
 }
コード例 #2
0
        public IActionResult InitPassengers([FromBody] TransportInitData transportInitData)
        {
            var allPassengers = passengersFactory.CreatePassengers(transportInitData);
            var neighborhood  = neighborsManager.GetEachPassengerNeighbors(transportInitData.NeighboursCount,
                                                                           transportInitData.Columns, allPassengers);

            allPassengers.SetNeighborhood(neighborhood);

            var averageSatisfaction = transportSystemSatisfaction.Evaluate(allPassengers);

            return(Ok(
                       new IterationResult
            {
                Passengers = allPassengers,
                AverageSatisfaction = averageSatisfaction,
                AlgorithmType = ChoiceTransportAlgorithmType.QLearning,
                AvailableTransportTypes = transportInitData.AvailableTransportTypes
            }));
        }