def simulateArrivalChargePorts(): arrivalRate = 3 initialChargePorts = 1 arrivalRateStep = 0 chargePortStep = 5 chargePortCycles = 5 arrivalRateCycles = 1 numRunsPerIteration = 3 heatMap = [ ] # gen 1st row of heatMap # for now just write the name of the algorithm in by hand for cell (0,0) row1 = [ "DSAC" ] numChargePorts = initialChargePorts for a in range( 1, chargePortCycles + 1 ): row1.append( numChargePorts ) numChargePorts += chargePortStep heatMap.append( row1 ) for i in range( arrivalRateCycles ): poissonGen.setArrivalRate( arrivalRate ) numChargePorts = initialChargePorts heatMapRow = [ arrivalRate ] for j in range( chargePortCycles ): chargePorts.setNumChargePorts( numChargePorts ) averageProfit = 0 for k in range( numRunsPerIteration ): gc.collect() # print "--------------------------" simulationInterval = poissonGen.simulateInterval() # test one algorithm at a time singleTestData = dsac.simulate( simulationInterval ) # increment profit in spot averageProfit += singleTestData[ 0 ] # get average averageProfit /= ( 1.0 * numRunsPerIteration ) heatMapRow.append( averageProfit ) numChargePorts += chargePortStep heatMap.append( heatMapRow ) arrivalRate += arrivalRateStep return heatMap
edfACProData = edf_AC_Pro.simulate(simulationInterval) #----------------llfSimple---------------- llfSimpleData = llfSimple.simulate(simulationInterval) llfSimpleACBasicData = llfSimple_AC_Basic.simulate(simulationInterval) llfSimpleACProData = llfSimple_AC_Pro.simulate(simulationInterval) #----------------llfSmart---------------- llfSmartData = llfSmart.simulate(simulationInterval) llfSmartACBasicData = llfSmart_AC_Basic.simulate(simulationInterval) #----------------dsac---------------- dsacData = dsac.simulate(simulationInterval) # common.vehicleIdsIn2DList( simulationInterval ) runData = [ fcfsData, fcfsACData, edfData, edfACBasicData, edfACProData, llfSimpleData, llfSimpleACBasicData, llfSimpleACProData, llfSmartData, llfSmartACBasicData, dsacData ] runProfits = [0] * 11 runSuccessRates = [0] * 11 runElapsedTimes = [0] * 11 runSuccessRatesWithDeclined = [0] * 11 for index, algoData in enumerate(runData):
def simulateArrivalChargePorts(): arrivalRate = 3 initialChargePorts = 1 arrivalRateStep = 0 chargePortStep = 5 chargePortCycles = 5 arrivalRateCycles = 1 numRunsPerIteration = 3 heatMap = [] # gen 1st row of heatMap # for now just write the name of the algorithm in by hand for cell (0,0) row1 = ["DSAC"] numChargePorts = initialChargePorts for a in range(1, chargePortCycles + 1): row1.append(numChargePorts) numChargePorts += chargePortStep heatMap.append(row1) for i in range(arrivalRateCycles): poissonGen.setArrivalRate(arrivalRate) numChargePorts = initialChargePorts heatMapRow = [arrivalRate] for j in range(chargePortCycles): chargePorts.setNumChargePorts(numChargePorts) averageProfit = 0 for k in range(numRunsPerIteration): gc.collect() # print "--------------------------" simulationInterval = poissonGen.simulateInterval() # test one algorithm at a time singleTestData = dsac.simulate(simulationInterval) # increment profit in spot averageProfit += singleTestData[0] # get average averageProfit /= (1.0 * numRunsPerIteration) heatMapRow.append(averageProfit) numChargePorts += chargePortStep heatMap.append(heatMapRow) arrivalRate += arrivalRateStep return heatMap
edfACProData = edf_AC_Pro.simulate( simulationInterval ) #----------------llfSimple---------------- llfSimpleData = llfSimple.simulate( simulationInterval ) llfSimpleACBasicData = llfSimple_AC_Basic.simulate( simulationInterval ) llfSimpleACProData = llfSimple_AC_Pro.simulate( simulationInterval ) #----------------llfSmart---------------- llfSmartData = llfSmart.simulate( simulationInterval ) llfSmartACBasicData = llfSmart_AC_Basic.simulate( simulationInterval ) #----------------dsac---------------- dsacData = dsac.simulate( simulationInterval ) # common.vehicleIdsIn2DList( simulationInterval ) runData = [ fcfsData , fcfsACData, edfData , edfACBasicData , edfACProData , llfSimpleData , llfSimpleACBasicData , llfSimpleACProData , llfSmartData , llfSmartACBasicData , dsacData ] runProfits = [ 0 ] * 11 runSuccessRates = [ 0 ] * 11 runElapsedTimes = [ 0 ] * 11 runSuccessRatesWithDeclined = [ 0 ] * 11 for index , algoData in enumerate( runData ): runProfits[ index ] = algoData[ 0 ] runSuccessRates[ index ] = ( 1.0 * algoData[ 1 ] ) / ( algoData[ 1 ] + algoData[ 2 ] ) runSuccessRatesWithDeclined[ index ] = ( 1.0 * algoData[ 1 ] ) / algoData[ 4 ] runElapsedTimes[ index ] = algoData[ 5 ]