Abstract

We propose a linear time algorithm, called G2DLP, for generating 2D lattice L(n1, n2) paths, equivalent to two-item multiset permutations, with a given number of turns. The usage of turn has three meanings: in the context of multiset permutations, it means that two consecutive elements of a permutation belong to two different items; in lattice path enumerations, it means that the path changes its direction, either from eastward to northward or from northward to eastward; in open shop scheduling, it means that we transfer a job from one type of machine to another. The strategy of G2DLP is divide-and-combine; the division is based on the enumeration results of a previous study and is achieved by aid of an integer partition algorithm and a multiset permutation algorithm; the combination is accomplished by a concatenation algorithm that constructs the paths we require. The advantage of G2DLP is twofold. First, it is optimal in the sense that it directly generates all feasible paths without visiting an infeasible one. Second, it can generate all paths in any specified order of turns, for example, a decreasing order or an increasing order. In practice, two applications, scheduling and cryptography, are discussed.

Highlights

  • It is common to find ourselves confronted with problems in which an exhaustive examination of all solutions is necessary or desirable [1]

  • The problem of generating 2D lattice L(n1, n2) paths according to a given number of turns is more challenging than a simple multiset permutation problem

  • The time complexity of a simple multiset permutation algorithm for generating n n 1.5 two-item {A n1, Bn2 } multiset permutations according to a given number of turns is O( n1 0.5 n2 0.5 ), n1

Read more

Summary

Introduction

It is common to find ourselves confronted with problems in which an exhaustive examination of all solutions is necessary or desirable [1]. We do not want to use brute force to go through all Algorithms 2015, 8 possible solutions. There is a clear need to design an efficient algorithm that can eliminate certain cases from consideration. Our goal is to design an optimal algorithm, whereby all infeasible solutions can be ignored. That is, it directly generates all feasible solutions without visiting any infeasible solutions. We have proposed an algorithm for generating all permutations of {1, 2, ... In most applications of permutation generation we are interested in minimizing the total running time, not the maximum time between successive visits [1]

Objectives
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call