function N=VNE_sim(id, nodes_CPU, inc, edges_BW, claim_events, claim_networks) N=[]; n=length(nodes_CPU); m=length(edges_BW); nodes_load=zeros(1,n); edges_load=zeros(1,m); while(length(claim_events)>0) # disp(claim_events); disp(nodes_load); disp(edges_load); network=claim_events(1,1); claim_nodes=claim_networks(network).nodes; claim_inc=claim_networks(network).inc; claim_edges=claim_networks(network).edges; if(claim_events(1,2)==1) b=0; [node_map,path_map]=strat_VNE(id,nodes_CPU, nodes_load, inc, edges_BW, edges_load, claim_nodes, claim_inc, claim_edges); map_inc_nodes_claime=mod(path_map*inc',2)'; if(length(node_map)!=0) if(map_inc_nodes_claime(node_map,:)==claim_inc) if(claim_nodes<=(nodes_CPU-nodes_load)(node_map)) if(sum(claim_edges'.*path_map)<=edges_BW-edges_load) claim_networks(network).node_map=node_map; claim_netwroks(network).edge_load=sum(claim_edges'.*path_map); nodes_load(node_map)+=claim_nodes; edges_load+=sum(claim_edges'.*path_map); b=1; endif endif endif endif N(end+1,:)=[network,b]; else if(length(claim_networks(network).node_map)!=0) nodes_load(claim_networks(network).node_map)-=claim_nodes; edges_load-=claim_netwroks(network).edge_load; claim_networks(network).node_map=[]; claim_netwroks(network).edge_load=[]; endif; endif claim_events(1,:)=[]; endwhile endfunction