# Run each experiment for exp in experiments: print("\n" + exp[0]) # prints the algorithm # The CSV file to which the statistics should be written output = exp[0] + ".csv" outputs += [output] # Run the experiment frodo2.run(java, javaParamsNew, generator, exp[1], 1, exp[2], timeout, output, saveProblems = False) # Plot the results for each experiment for j in range(0, len(experiments)): exp = experiments[j] # The CSV file to which the statistics should have been written output = outputs[j] # Plot curves with x = problem size and y = performance of each algorithm # frodo2.plot(output, xCol = 9, yCol = 15, block = False) # 15 = message size # frodo2.plot(output, xCol = 9, yCol = 13, block = (j == len(experiments)-1)) # 13 = runtime # Scatter plot with one data point per instance, x = old algorithm and y = new algorithm xAlgo = exp[2][0][0] yAlgo = exp[2][1][0] frodo2.plotScatter(output, xAlgo, yAlgo, metricsCol = 19, timeouts = False, block = False, loglog = False) # 19 = solution quality frodo2.plotScatter(output, xAlgo, yAlgo, metricsCol = 15, timeouts = True, block = False) # 15 = message size frodo2.plotScatter(output, xAlgo, yAlgo, metricsCol = 15, timeouts = False, block = False) # 15 = message size frodo2.plotScatter(output, xAlgo, yAlgo, metricsCol = 13, timeouts = True, block = False) # 13 = runtime frodo2.plotScatter(output, xAlgo, yAlgo, metricsCol = 13, timeouts = False, block = (j == len(experiments)-1)) # 13 = runtime
# Run each experiment for exp in experiments: print("\n" + exp[0]) # prints the algorithm # The CSV file to which the statistics should be written output = exp[0] + ".csv" outputs += [output] # Run the experiment frodo2.run(java, javaParamsNew, generator, exp[1], 1, exp[2], timeout, output, saveProblems = False) # Plot the results for each experiment for j in range(0, len(experiments)): exp = experiments[j] # The CSV file to which the statistics should have been written output = outputs[j] # Plot curves with x = problem size and y = performance of each algorithm # frodo2.plot(output, xCol = 7, yCol = 16, block = False) # 16 = message size # frodo2.plot(output, xCol = 7, yCol = 14, block = (j == len(experiments)-1)) # 14 = runtime # Scatter plot with one data point per instance, x = old algorithm and y = new algorithm xAlgo = exp[2][0][0] yAlgo = exp[2][1][0] frodo2.plotScatter(output, xAlgo, yAlgo, metricsCol = 20, timeouts = False, block = False, loglog = False) # 20 = solution quality frodo2.plotScatter(output, xAlgo, yAlgo, metricsCol = 16, timeouts = True, block = False) # 16 = message size frodo2.plotScatter(output, xAlgo, yAlgo, metricsCol = 16, timeouts = False, block = False) # 16 = message size frodo2.plotScatter(output, xAlgo, yAlgo, metricsCol = 14, timeouts = True, block = False) # 14 = runtime frodo2.plotScatter(output, xAlgo, yAlgo, metricsCol = 14, timeouts = False, block = (j == len(experiments)-1)) # 14 = runtime