Introduction

About This Tutorial

This tutorial aims to teach you the basic concepts of mathematical optimization and how to formulate and solve optimization problems using JijZept SDK, the mathematical optimization software provided by Jij.

The main target audience is data scientists and software engineers, with the following prerequisites:

  • Basic knowledge of Python programming syntax and libraries
  • Ability to understand mathematical formulas containing characters and symbols such as:
  • \[\sum_{i=1}^{n} c_i x_i\] \[\sum_{i=1}^{n} a_{ij} x_i \leq b_j\]

In this tutorial, after introducing the basic elements of mathematical optimization, we will follow the actual flow of mathematical optimization while explaining step by step how to use the main components of JijZept SDK: JijModeling (building mathematical models in Python), OMMX (converting to solver input format, solving), and MINTO (experiment management for optimization calculations). The ultimate goal is for readers to be able to effectively utilize mathematical optimization in their own work.

How to Proceed with the Tutorial

To accommodate learners with diverse levels of expertise (beginner, intermediate, advanced), this tutorial offers multiple "learning paths."

About the Tutorial

Tutorial content will be added sequentially.

Learning Paths

  • Beginner: For those who have never encountered mathematical optimization problems. The content is structured to carefully explain basic concepts and deepen understanding step by step.
  • Intermediate: For those who have some experience with mathematical optimization.
  • Advanced: For those who regularly work with mathematical optimization and only want to learn how to use Jij's products.

If you feel that explanations from other levels would be helpful during your learning, you can freely move between levels. Regardless of which level you choose, the overall structure of the tutorial is consistent, ensuring a coherent learning experience.

Now, let's start the tutorial!