/opt-lego

Primary LanguageAMPLMIT LicenseMIT

opt-lego: Multi-Build Search App

This is the code for the Multi-Build Search app, developed over the course of the video series at opt-models.org.

Purpose

The app searches for multiple LEGO® sets buildable from one person's part inventory at the same time ... see the Problem Description for more!

Architecture

At the heart of the app is a Mixed-Integer Linear Program (MILP) implemented in AMPL - an algebraic modeling language - which sends problems it generates for solving to the excellent open source HiGHS linear integer solver. The app is later wrapped in Python, given a Streamlit UI and containerized.

Thank you Rebrickable.com ❤️

The Multi-Build Search App augments Rebrickable.com's existing Build Search feature at https://rebrickable.com/build/, and its development is enabled by Rebrickable's generous sharing of their LEGO part and set data at https://rebrickable.com/downloads/. (Thank you Rebrickable Team, you rock!!! ❤️ )

Note: Rebrickable® and LEGO® are trademarks their respective owners.

Whiteboard

Visit the Whimsical whiteboard here for the planning and explanatory notes seen in the video series.

Discord

Discuss the app's development on the opt-models Discord server here ...

Join the opt-models Discord server

Videos released so far ...

Welcome!

Welcome!

PART 01: The Problem Description

PART 01: The Problem Description

PART 02: Plan the App Buildout!

PART 02: Plan the App Buildout!