A Novel Algorithm for Max Sat Calling MOCE to Order

Daniel Berend, Shahar Golan, Yochai Twitto

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review


In this paper, we present and study a new algorithm for the Maximum Satisfiability (Max Sat) problem. The algorithm, GO-MOCE, is based on the Method of Conditional Expectations (MOCE, also known as Johnson’s Algorithm), and applies a greedy variable ordering to it. We conduct an extensive empirical evaluation on two collections of instances – instances from a past Max Sat competition and random instances. We show that GO-MOCE reduces the number of unsatisfied clauses by tens of percents as compared to MOCE. We prove that, using tailored data structures we designed, GO-MOCE retains the linear time complexity. Moreover, its runtime overhead in our experiments is at most 10%. We combine GO-MOCE with CCLS, a state-of-the-art solver, and show that the combined solver improves CCLS on the above mentioned collections.

Original languageEnglish
Title of host publicationCombinatorial Optimization and Applications - 15th International Conference, COCOA 2021, Proceedings
EditorsDing-Zhu Du, Donglei Du, Chenchen Wu, Dachuan Xu
PublisherSpringer Science and Business Media Deutschland GmbH
Number of pages16
ISBN (Print)9783030926809
StatePublished - 1 Jan 2021
Event15th Annual International Conference on Combinatorial Optimization and Applications, COCOA 2021 - Tianjin, China
Duration: 17 Dec 202119 Dec 2021

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume13135 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference15th Annual International Conference on Combinatorial Optimization and Applications, COCOA 2021

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science


Dive into the research topics of 'A Novel Algorithm for Max Sat Calling MOCE to Order'. Together they form a unique fingerprint.

Cite this