Download A branch-and-bound algorithm for the resource-constrained by Dorndorf U., Pesch Е., Phan-Huv Т. PDF

By Dorndorf U., Pesch Е., Phan-Huv Т.

We describe a time-oriented branch-and-bound set of rules for the resource-constrained undertaking scheduling challenge which explores the set of energetic schedules via enumerating attainable task commence occasions. The set of rules makes use of constraint-propagation concepts that take advantage of the temporal and source constraints of the matter which will decrease the quest area. Computational experiments with huge, systematically generated benchmark try units, ranging in dimension from thirty to at least one hundred and twenty actions in keeping with challenge example, express that the set of rules scales good and is aggressive with different precise answer methods. The computational effects express that the main tricky difficulties ensue while scarce source offer and the constitution of the source call for reason an issue to be hugely disjunctive.

Show description

Read Online or Download A branch-and-bound algorithm for the resource-constrained project scheduling problem PDF

Best algorithms and data structures books

Reliable Data Structures in C

Trustworthy info constructions in C.

High Performance Discovery in Time Series: Techniques and Case Studies

Time-series data—data arriving in time order, or an information stream—can be present in fields akin to physics, finance, track, networking, and scientific instrumentation. Designing speedy, scalable algorithms for examining unmarried or a number of time sequence can result in medical discoveries, clinical diagnoses, and maybe gains.

Extra info for A branch-and-bound algorithm for the resource-constrained project scheduling problem

Example text

Procedure parameters: void randomMaximumFlowNetwork (n, m, seed, minweight,maxweight, nodei, nodej, weight) n: int; entry: number of nodes of the network. Nodes of the graph are labeled from 1 to n. Node 1 is the source and node n is the sink. m: int; entry: number of required edges of the directed graph. seed: long; entry: seed for initializing the random number generator. minweight: int; entry: minimum weight of the edges. maxweight: int; entry: maximum weight of the edges. nodei, nodej: int[m+1]; exit: nodei[0] returns the actual number of edges generated.

Maxweight: int; entry: maximum weight of the edges; if weighted = false then this value is ignored. nodei, nodej: int[m+1]; exit: the i-th edge is from node nodei[i] to node nodej[i], for i = 1,2,…,m. The Hamilton cycle is given by the first n elements of these two arrays. weight: int[m+1]; exit: weight[i] is the weight of the i-th edge, for i = 1,2,…,m; if weighted = false then this array is ignored. nextDouble() * (maxweight + 1 - minweight)); } } return 0; } Example: Generate a random simple Hamilton graph of 7 nodes and 10 edges with edge weights in the range of [90, 99].

Then random edges are added into the graph until the required number of edges is reached. Procedure parameters: int randomHamiltonGraph (n, m, seed, directed, weighted, minweight, maxweight, nodei, nodej, weight) randomHamiltonGraph: int; exit: the method returns the following error code: 0: solution found with normal execution 1: value of m is too small, should be at least n 2: value of m is too large, should be at most n∗(n−1)/2 for simple undirected graph, and n∗(n-1) for simple directed graph.

Download PDF sample

Rated 4.17 of 5 – based on 46 votes