azove(1)
π azove(1) β another zero-one vertex enumeration tool, and yes bestie it's iconic
okay so real talk, the manual page name is azove(1) and it lives in the User Commands section, which is giving "I'm a tool, I'm useful, I'm THAT girl" energy. it's called azove which stands for Another Zero-One Vertex Enumeration tool. "another"?? humble queen. anyway let's get into it π
β¨ SYNOPSIS β¨
azove [-c] [-r] [-e] FILE
that's it. that's the whole vibe. three little flags and a file. so clean, so demure π
πΈ DESCRIPTION πΈ
okay so azove is a tool built for two things, and only two things, no notes:
- counting 0/1 vertices (and doing it without explicitly enumerating them β she's efficient like that)
- enumerating 0/1 vertices
here's the setup, bestie. someone hands you a polytope as a linear relaxation or facet description:
P = {x | Ax <= b}
and you want all the 0/1 points that lie inside P. azove can count them, or it can list them out one by one. your choice, your moment, main character energy either way β¨
the way it does this?? it intersects the polytope P with the unit-hypercube [0,1]^d. and then β here's the part that ate β it enumerates the integral vertices of that intersection. no fractional ones. we do not do fractions here. not on this page. not today π
so if P happens to be a 0/1 polytope, then congratulations, azove just solves the vertex enumeration problem for you. periodt. π
and it doesn't stop there, no ma'am. it can also solve:
- the 0/1 knapsack problem
- the 0/1 subset sum problem
like, oh you thought she was a one-trick pony? she is not. she's a whole stable π¦
now about FILE β that's your input, and it has to be a file in the cddlib .ine format. keep that extension in mind, iykyk.
and here's where the output goes, because this part is important and you will absolutely lose your mind if you don't read it:
- statistics and timings get written to
stderr - output in cddlib
.extformat gets written tostdout
so if you're staring at your terminal like "where are my numbers??" β check your streams, babe. they're going to different places. it's giving divorced parents. π«Ά
π OPTIONS π
three flags. short. sweet. slay.
-cβ only count the number of 0/1 vertices. that's it, no listing, no scroll, just a number. default is enumeration, so if you don't pass this, azove is gonna give you the whole roster. β¨-rβ generate a random variables order for the BDDs. the default is the variable order given by input. and like, why would you want random?? because this may help in case of hard instances π₯ β sometimes you gotta shake the box and see what falls out, no cap.-eβ exact arbitrary precision. big numbers? irrational behavior from your floats?? not here. exact, arbitrary precision, the way nature intended π
π heads up bestie: that's literally the entire option list. all three. i'm not hiding any. this manpage is short and that is its whole brand.
π§ a lil sign-off π§
and that's the page, babe!! this is Azove version 2.0, so go forth and enumerate (or -c and just count, you do you) π
stay exact, stay integral, and may all your vertices be 0/1 β¨ππ
π¦ where this page comes from
- fedora 43: azove 2.0-31.fc43 Β· GPL-2.0-or-later
- fedora 44: azove 2.0-33.fc44 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms