DIBBOlib: A Data-Intensive Black-Box Optimization Library for Apache Spark
Author
Moesmann, Martin
Term
4. term
Education
Publication year
2023
Submitted on
2023-06-16
Abstract
Matematisk optimering spiller en stadig større rolle i moderne analyser. Dette projekt præsenterer DIBBOlib, et prøveeffektivt (sample-efficient) black-box optimeringsbibliotek, der udvider Apache Spark til dataintensive opgaver. Black-box optimering betyder, at man finder gode løsninger ved at køre simuleringer eller forsøg uden at kende systemets indre funktion; prøveeffektivitet betyder, at man kan nøjes med færre kørsler. DIBBOlib er bygget som en udvidelse af Spark MLlib og er integreret med Spark SQL, så det passer naturligt ind i eksisterende Spark-arbejdsgange. Biblioteket tilbyder en udvidbar standardpakke af optimeringsalgoritmer og generelle metoder til at håndtere begrænsninger. Hovedfunktioner omfatter en guidet algoritmewizard, global støtte til vertikal transfer learning (genbrug af viden fra beslægtede problemer), en ny metode til håndtering af begrænsninger, load-balanceret parallel afprøvning og dynamisk opdeling af søgerummet med en hybrid af dynamisk og grådig programmering samt ideer fra kooperativ spilteori. Sammenlignet med alternativerne udfylder DIBBOlib en niche som et generelt værktøj til dataintensive analyser og tilbyder samtidig unikke muligheder. Eksperimenter på eksempelproblemer viser, at de nye funktioner er praktisk anvendelige.
Mathematical optimization is increasingly central to modern analytics. This project presents DIBBOlib, a sample-efficient black-box optimization library that extends Apache Spark for data-intensive work. Black-box optimization means searching for good solutions by running simulations or experiments without needing to know how the underlying system works; sample-efficient means it aims to find good answers with fewer runs. DIBBOlib is implemented as an extension of Spark MLlib and integrates with Spark SQL, so it fits naturally into existing Spark workflows. It provides an extensible suite of optimization algorithms and general methods for handling constraints. Key features include a guided algorithm wizard, global support for vertical transfer learning (reusing knowledge from related problems), a new constraint-handling technique, load-balanced parallel trials, and dynamic partitioning of the search space using a hybrid of dynamic and greedy programming ideas and concepts from cooperative game theory. Compared with alternatives, DIBBOlib targets a niche as a general-purpose tool for data-intensive analytics while offering several unique capabilities. Experiments on example problems demonstrate the practical value of the new features.
[This summary has been rewritten with the help of AI based on the project's original abstract]
Documents
