Learn More
Branch-and-bound and backtracking are widely used for search and optimization problems, but their implementations vary from problem to problem. In this paper we propose a unified approach of program derivation and generation for the two classes of algorithms. We first define a generalized specification for the search strategies, and then derive the(More)
Traditional approaches to apply tabu search method typically require formulating an algorithmic structure for each individual problem. Based on algebraic specifications, the paper presents a unified and mechanical framework for implementing tabu search algorithms for combinatorial optimization problems. We define a generalized specification using high-order(More)
We advocate a mechanical derivation approach for developing provably correct algorithmic programs. The paper presents our new formal methods and techniques for generating algorithms plus loop invariants. Through our methods and techniques, the ideas behind MergeSort algorithm is revealed naturally from a formal specification, and then its loop invariant and(More)
Formal algorithm derivation is valuable in ensuring resultant algorithm correctness, revealing ideas behind algorithm, and studying automatic algorithm design. An approach called mechanical partition-and-recur (MPAR for short) for deriving algorithmic program is presented. It is built on top of formal method PAR, and provides a series of strategies for(More)
The design and analysis of algorithms is one of the two essential cornerstone topics in computer science. However, some students think it hard to grasp and often learn by rote, thus they usually can't improve their ability of algorithm design and algorithm analysis. To address the problem, we advocate the incorporation of formal derivation into the design(More)
Using formal method PAR, two algorithms involving sequences, a majority problem deterministic algorithmic solution and computing the mode, are derived. From formal functional specifications, problems are partitioned into sub-problems, problem solving recurrences are constructed through formal specification transformation, and then loop invariants are(More)
Using highly configurable semi-automatic approach to algorithmic programs development can improve correctness and productivity. This paper explores a way to use generative techniques to produce the algorithmic programs for searching problem. Based on PAR method and PAR platform, it is to formally develop generic type component and algorithm components, and(More)
The problem reduction graph (PRG) is a model for formally describing the reduction processes of combinatorial optimization problems and systematically deriving efficient algorithms for the problems. The paper applies the model for several optimization problems including vehicle loading, vehicle routing, and warehouse location, which are typical problems in(More)