Files
upo-valpre/src/main/java/net/berack/upo/valpre/Main.java
Berack96 69b8e5710b Refatoring
- separated net topology from the simulation nodes
- moved files in a better hierarchy
2025-01-22 17:04:53 +01:00

38 lines
1.4 KiB
Java

package net.berack.upo.valpre;
import net.berack.upo.valpre.rand.Distribution;
import net.berack.upo.valpre.sim.SimulationMultiple;
import net.berack.upo.valpre.sim.Net;
import net.berack.upo.valpre.sim.ServerNode;
public class Main {
public static void main(String[] args) throws Exception {
// Parameters for the simulation
var seed = 2007539552;
var total = 10000;
var lambda = 1.0 / 4.5;
var mu = 3.2;
var sigma = 0.6;
// Build the network
var net = new Net();
var node1 = ServerNode.createLimitedSource("Source", new Distribution.Exponential(lambda), total);
var node2 = ServerNode.createQueue("Queue", 1, new Distribution.NormalBoxMuller(mu, sigma));
net.addNode(node1);
net.addNode(node2);
net.addConnection(node1.name, node2.name, 1.0);
net.normalizeWeights();
/// Run multiple simulations
// var maxDepartures = new EndSimulationCriteria.MaxDepartures("Queue", total);
// var maxTime = new EndSimulationCriteria.MaxTime(1000.0);
var nano = System.nanoTime();
var sim = new SimulationMultiple(net);
var results = sim.runParallel(seed, 1000);
nano = System.nanoTime() - nano;
System.out.print(results.average.getHeader());
System.out.print(results.average.getSummaryAsTable());
System.out.println("Final time " + nano / 1e6 + "ms");
}
}