# ["DUCT", "frodo2.algorithms.duct.DUCTsolver", "../agents/DUCT/DUCTagent.xml", problemFile], # # ["DSA", "frodo2.algorithms.localSearch.dsa.DSAsolver", "../agents/DSA/DSAagent.xml", problemFile], # # ["MaxSum", "frodo2.algorithms.maxsum.MaxSumSolver", "../agents/MaxSum/MaxSumAgent.xml", problemFile], # # ["MGM", "frodo2.algorithms.localSearch.mgm.MGMsolver", "../agents/MGM/MGMagent.xml", problemFile], # ["MGM2", "frodo2.algorithms.localSearch.mgm.mgm2.MGM2solver", "../agents/MGM/MGM2agent.xml", problemFile], [ "SynchBB", "frodo2.algorithms.synchbb.SynchBBsolver", "../agents/SynchBB/SynchBBagent.xml", problemFile ], ] timeout = 120 # in seconds # The CSV file to which the statistics should be written output = "outputMaxDisCSP.csv" # Run the experiment frodo2.run(java, javaParams, generator, genParams, nbrProblems, algos, timeout, output) # Tip: if some of the algorithms tend to time out most of the time on some problem files, # you can run 2 experiments: one for all algorithms on the smaller problem sizes, # and one with only the faster algorithms on the larger problem sizes # Plot the graphs frodo2.plot( output, xCol=8, yCol=11) # yCol = 11 is the NCCC count (the first column has index 0)
# ["MaxSum", "frodo2.algorithms.maxsum.MaxSumSolver", "../agents/MaxSum/MaxSumAgentPerturbedJaCoP.xml", problemFilePEAV], # # ["MGM", "frodo2.algorithms.localSearch.mgm.MGMsolver", "../agents/MGM/MGMagentJaCoP.xml", problemFilePEAV], # ["MGM2", "frodo2.algorithms.localSearch.mgm.mgm2.MGM2solver", "../agents/MGM/MGM2agentJaCoP.xml", problemFilePEAV], # # ["MPC-DisCSP4", "frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver", "../agents/MPC/MPC-DisCSP4_JaCoP.xml", problemFileEAV], # ["MPC-DisWCSP4", "frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver", "../agents/MPC/MPC-DisWCSP4_JaCoP.xml", problemFileEAV], # to be used with -maxCost # # ["SynchBB", "frodo2.algorithms.synchbb.SynchBBsolver", "../agents/SynchBB/SynchBBagentJaCoP.xml", problemFilePEAV], ] timeout = 600 # in seconds # The CSV file to which the statistics should be written output = "outputMeetings.csv" # Run the experiment frodo2.run(java, javaParams, generator, genParams, nbrProblems, algos, timeout, output) # Tip: if some of the algorithms tend to time out most of the time on some problem files, # you can run 2 experiments: one for all algorithms on the smaller problem sizes, # and one with only the faster algorithms on the larger problem sizes # Plot the graphs frodo2.plot( output, xCol=9, yCol=13, block=False) # yCol = 13 is the runtime (the first column has index 0) frodo2.plot( output, xCol=9, yCol=15, block=True ) # yCol = 15 is the total message size (the first column has index 0)
["P2-DPOP", "frodo2.algorithms.dpop.privacy.P2_DPOPsolver", "../agents/DPOP/P-DPOP/P2-DPOPagentJaCoP_DisCSP.xml", problemFilePEAV], # ["P2-DPOP", "frodo2.algorithms.dpop.privacy.P2_DPOPsolver", "../agents/DPOP/P-DPOP/P2-DPOPagentJaCoP.xml", problemFilePEAV], # to be used with -maxCost # # ["DSA", "frodo2.algorithms.localSearch.dsa.DSAsolver", "../agents/DSA/DSAagentJaCoP.xml", problemFilePEAV], # # ["MaxSum", "frodo2.algorithms.maxsum.MaxSumSolver", "../agents/MaxSum/MaxSumAgentPerturbedJaCoP.xml", problemFilePEAV], # # ["MGM", "frodo2.algorithms.localSearch.mgm.MGMsolver", "../agents/MGM/MGMagentJaCoP.xml", problemFilePEAV], # ["MGM2", "frodo2.algorithms.localSearch.mgm.mgm2.MGM2solver", "../agents/MGM/MGM2agentJaCoP.xml", problemFilePEAV], # ["MPC-DisCSP4", "frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver", "../agents/MPC/MPC-DisCSP4_JaCoP.xml", problemFileEAV], # ["MPC-DisWCSP4", "frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver", "../agents/MPC/MPC-DisWCSP4_JaCoP.xml", problemFileEAV], # to be used with -maxCost # # ["SynchBB", "frodo2.algorithms.synchbb.SynchBBsolver", "../agents/SynchBB/SynchBBagentJaCoP.xml", problemFilePEAV], ] timeout = 600 # in seconds # The CSV file to which the statistics should be written output = "outputMeetings.csv" # Run the experiment frodo2.run(java, javaParams, generator, genParams, nbrProblems, algos, timeout, output, saveProblems = False) # Tip: if some of the algorithms tend to time out most of the time on some problem files, # you can run 2 experiments: one for all algorithms on the smaller problem sizes, # and one with only the faster algorithms on the larger problem sizes # Plot the graphs frodo2.plot(output, xCol = 10, yCol = 14, block = False) # yCol = 14 is the runtime (the first column has index 0) frodo2.plot(output, xCol = 10, yCol = 16, block = True) # yCol = 16 is the total message size (the first column has index 0)
# ["MB-DPOP", "frodo2.algorithms.dpop.DPOPsolver", "../agents/DPOP/MB-DPOP/MB-DPOPagentJaCoP.xml", problemFile], # ["O-DPOP", "frodo2.algorithms.odpop.ODPOPsolver", "../agents/DPOP/O-DPOP/O-DPOPagentJaCoP.xml", problemFile], ["P-DPOP", "frodo2.algorithms.dpop.privacy.P_DPOPsolver", "../agents/DPOP/P-DPOP/P-DPOPagentJaCoP.xml", problemFile], ["P2-DPOP", "frodo2.algorithms.dpop.privacy.P2_DPOPsolver", "../agents/DPOP/P-DPOP/P2-DPOPagentJaCoP_DisCSP.xml", problemFile], # # ["DSA", "frodo2.algorithms.localSearch.dsa.DSAsolver", "../agents/DSA/DSAagentJaCoP.xml", problemFile], # # ["MaxSum", "frodo2.algorithms.maxsum.MaxSumSolver", "../agents/MaxSum/MaxSumAgentJaCoP.xml", problemFile], # # ["MGM", "frodo2.algorithms.localSearch.mgm.MGMsolver", "../agents/MGM/MGMagentJaCoP.xml", problemFile], # ["MGM2", "frodo2.algorithms.localSearch.mgm.mgm2.MGM2solver", "../agents/MGM/MGM2agentJaCoP.xml", problemFile], # ["MPC-DisCSP4", "frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver", "../agents/MPC/MPC-DisCSP4_JaCoP.xml", problemFileMPC], # ["SynchBB", "frodo2.algorithms.synchbb.SynchBBsolver", "../agents/SynchBB/SynchBBagentJaCoP.xml", problemFile], ] timeout = 600 # in seconds # The CSV file to which the statistics should be written output = "outputParty.csv" # Run the experiment frodo2.run(java, javaParams, generator, genParams, nbrProblems, algos, timeout, output) # Tip: if some of the algorithms tend to time out most of the time on some problem files, # you can run 2 experiments: one for all algorithms on the smaller problem sizes, # and one with only the faster algorithms on the larger problem sizes # Plot the graphs frodo2.plot(output, xCol = 6, yCol = 10) # the first column has index 0
# ["P2-DPOP", "frodo2.algorithms.dpop.privacy.P2_DPOPsolver", "../agents/DPOP/P-DPOP/P2-DPOPagent.xml"], # ["DSA", "frodo2.algorithms.localSearch.dsa.DSAsolver", "../agents/DSA/DSAagent.xml"], # ["MaxSum", "frodo2.algorithms.maxsum.MaxSumSolver", "../agents/MaxSum/MaxSumAgentPerturbed.xml"], # ["MGM", "frodo2.algorithms.localSearch.mgm.MGMsolver", "../agents/MGM/MGMagent.xml"], # ["MGM2", "frodo2.algorithms.localSearch.mgm.mgm2.MGM2solver", "../agents/MGM/MGM2agent.xml"], # ["MPC-DisCSP4", "frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver", "../agents/MPC/MPC-DisCSP4.xml"], # ["MPC-DisWCSP4", "frodo2.algorithms.mpc_discsp.MPC_DisWCSP4solver", "../agents/MPC/MPC-DisWCSP4.xml"], # ["SynchBB", "frodo2.algorithms.synchbb.SynchBBsolver", "../agents/SynchBB/SynchBBagent.xml"], ] timeout = 60 # in seconds # The number of times each algorithm should be run against each problem instance nbrRuns = 1 # The CSV file to which the statistics should be written output = "outputRepository.csv" # Run the experiment frodo2.runFromRepo(java, javaParams, repoPath, nbrRuns, algos, timeout, output) # Tip: if some of the algorithms tend to time out most of the time on some problem files, # you can run 2 experiments: one for all algorithms on the smaller problem sizes, # and one with only the faster algorithms on the larger problem sizes frodo2.plot(output, xCol = 7, yCol = 5, block = True) # yCol = 14 is the runtime (the first column has index 0)
genParams, nbrProblems, algos, timeout, output, saveProblems=False) # frodo2.runFromRepo(java, javaParams, "/home/ahmad/Documents/Frodo/frodo2/experiments/problems", 1 , algos, timeout, output) # Tip: if some of the algorithms tend to time out most of the time on some problem files, # you can run 2 experiments: one for all algorithms on the smaller problem sizes, # and one with only the faster algorithms on the larger problem sizes # Plot the graphs frodo2.plot( output, xCol=9, yCol=14) # yCol = 12 is the NCCC count (the first column has index 0) frodo2.plot( output, xCol=9, yCol=13) # yCol = 12 is the NCCC count (the first column has index 0) frodo2.plot( output, xCol=9, yCol=19) # yCol = 12 is the NCCC count (the first column has index 0) # frodo2.plot(output, xCol = 0, yCol = 5) # yCol = 12 is the NCCC count (the first column has index 0) # frodo2.plot(output, xCol = 7, yCol = 14) # yCol = 12 is the NCCC count (the first column has index 0) # frodo2.plot(output, xCol = 7, yCol = 14) # yCol = 12 is the NCCC count (the first column has index 0) # data = pd.read_csv(output, sep=',',header=None, index_col =0) # data.plot(kind='bar') # plt.ylabel('Time') # plt.xlabel('Algorithm')