MINCE (Min-cut vertex/variable reorderings)
<![if !supportLineBreakNewLine]>
<![endif]>

A new static global variable ordering for SAT & BDDs

<![if !supportEmptyParas]><![endif]> 

<![if !supportEmptyParas]><![endif]> 

MINCE 0.1 is now available!!

<![if !supportEmptyParas]><![endif]> 

<![if !supportEmptyParas]><![endif]> 

<![if !supportEmptyParas]><![endif]> 

Introduction

<![if !supportEmptyParas]><![endif]> 

In many applications, it is beneficial to order vertices of a graph/hypergraph such that the total (or average) length/span of edges/hyper-edges is minimized. Other related objectives are cut-width/bandwidth, total (or average) cut, etc. Recursive min-cut bisection tends to return solutions that are simultaneously good with respect to many of these objectives.

<![if !supportEmptyParas]><![endif]> 

This page offers a leading-edge generic implementation of such vertex reordering and a specific application to variable re-orderings for the Boolean Satisfiability (SAT) problem and Binary Decision Diagrams (BDDs) (the MINCE heuristic).

Example

Check out the structure of the hole7.cnf instance from the pigeon-hole family: [Original variable order] and [Mince variable order].
(Variables are represented by points on the x-axis and clauses are represented by stars of edges that connect those points.)

<![if !supportEmptyParas]><![endif]> 

<![if !supportEmptyParas]><![endif]> 

Executables

Intel/Linux  - [Mince_Linux_v01.tar.gz]  (1.6 Mb)
Sun/Solaris - [Mince_Solaris_v01.tar.gz]  (1.7 Mb)

           

Other

<![if !supportEmptyParas]><![endif]> 

<![if !supportEmptyParas]><![endif]> 

<![if !supportEmptyParas]><![endif]> 

References

<![if !supportEmptyParas]><![endif]> 

<![if !supportEmptyParas]><![endif]> 

<![if !supportEmptyParas]><![endif]> 

<![if !supportEmptyParas]><![endif]> 

Maintained by Fadi Aloul (faloul@eecs.umich.edu)
Last updated February 16, 2003.

<![if !supportLineBreakNewLine]>
<![endif]>