Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static double estimateModifiedReliablility(double numberOfSimulations, double p, double T_max) {
- double failures = 0;
- Random random = new Random();
- for (int i = 0; i < numberOfSimulations; i++) {
- SimpleWeightedGraph<Integer, DefaultWeightedEdge> test_Graph = new SimpleWeightedGraph<Integer, DefaultWeightedEdge>(DefaultWeightedEdge.class);
- test_Graph = (SimpleWeightedGraph<Integer, DefaultWeightedEdge>) G.clone();
- Object[] edgesArray = test_Graph.edgeSet().toArray();
- for (int j = 0; j < edgesArray.length; j++) {
- DefaultWeightedEdge edge = (DefaultWeightedEdge) edgesArray[j];
- if (random.nextFloat() > p)
- test_Graph.removeEdge(edge);
- }
- connectivityInspector = new ConnectivityInspector<Integer, DefaultWeightedEdge>(test_Graph);
- if (connectivityInspector.isGraphConnected()) {
- if (testGraph()) {
- if (delay(test_Graph) > T_max)
- failures++;
- }
- else {
- System.out.println("Przepływ jest większy od przepustowości");
- return 0;
- }
- }
- else {
- failures++;
- }
- }
- return (numberOfSimulations - failures) / numberOfSimulations;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement