ZYpp
Libzyppの解決策は、インストールされたシステムのパッケージを更新するために書かれたRed Carpetの解決策からの移植であった。完全なインストールプロセスのためにRed Carpetの解決策を使用すると限界に達してしまうだけではなく、弱い依存関係やパッチサポートなどの拡張機能をその解決策に追加してしまうと、壊れやすく予測不可能となってしまった。このZYppの解決策における最初のバージョンは満足な処理を行ったが、2006年5月に登場したopenSUSE 10.1リリースではZMDデーモンを結合した企業向けエンタープライズ製品においてシステムパッケージが期待通りに動作しなかった。2006年12月のopenSUSE 10.2リリースでは再び訪れたZYpp v2を使うことで、それ以前のリリースの欠陥をいくつか修正した。その後ZMDは10.3リリースから削除され、企業向けエンタープライズ製品用のみ残された。ZYpp v3は同等な他の既存のパッケージマネージャと比べても優れた機能をopenSUSEに提供したが、速度性能を大きく制限してしまう実装のため、いくつかの欠点に悩まされた。
新しいsolv形式が作成され、これはリポジトリを文字列辞書、関係辞書、そして全てのパッケージ依存物として貯蔵する。複数のsolvリポジトリを読み込んでマージするための所要時間はわずか数ミリ秒である。
パッケージ依存の算出に充足可能性を利用する。充足可能性問題はよく研究された問題であり利用可能な多くの模範解決策がある。パッケージ解決策の複雑さは、SAT解決策を利用する他の領域よりもはるかに単純であるため、模範パッケージ解決策はとても高速である。さらにそれは複雑なアルゴリズムを必要としないため、問題解決が不可能な理由の証明を導いて理解可能な提案を提供できる。
数ヶ月の作業の後、SAT解決策と統合されたこの4代目ZYppバージョンのベンチマーク結果は期待以上のものであり、YaSTやZypperは他のRPMベースのパッケージマネージャよりもスピードやサイズが勝った状態で動作する。