Changes

Jump to navigation Jump to search
===Testing performance===
For testing, we ====Testing instance 1====We used the following parameters to have a small-size problem: K = 1, S = 2, industry = 4, monte_N = 1, monte_M = 2. quota_per_up = 1, mktsize = 3, n_trail = 2, '''R = 10''', ini_w_M = 10, n_cores = 12.
<br>
Run serial and parallel(using the above method) versions of msmf_corr_coeff.m. With profiling, the parallel version takes much longer time than the serial one. On a closer inspection, a single call to gurobi takes a very small amount of time. Using parfor will probably not give us any benefit. However, I suspect that for large R (~1000) we will see improvements from parallelism. <br>
Serial: 356s[[File:serial_gurobi_R=10.png]] <br>
Parallel: 874s[[File:parallel_call_gurobi_R=10.png]] <br>
 
 
====Testing instance 1====
We used the following parameters to have a small-size problem:
K = 1, S = 2, industry = 4, monte_N = 1, monte_M = 2. quota_per_up = 1, mktsize = 3, n_trail = 2, '''R = 1000''', ini_w_M = 10, n_cores = 12.
<br>
 
The parallel version now is ~3.5 time faster than the serial version. I believe it might be even faster with more cores. However I do not completely understand how the computation time scales with R (and other parameters). Will run another test with R = 200.
Serial: 9000+s[[File:serial_gurobi_R=1000.png]] <br>
Parallel: 2873s[[File:parallel_call_gurobi_R=1000.png]] <br>
==Deliverable==

Navigation menu