# Glossary

Explore terms you'll encounter while using the JijZept Series in this glossary.

## A​

### Augmented Lagrangian Method (ALM)​

The Augmented Lagrangian Method (ALM) is an optimization technique that combines the Lagrange multiplier method and the penalty method to solve constrained optimization problems.

## B​

There are no glossary items.

## C​

### Compile (in terms of JijZept)​

"Compile" refers to the process of transforming a mathematical model provided by user into an intermediate representation (we call it a "Compiled instance" or "Compiled model"), which facilitates efficient translation to various solvers. During compilation, operations such as fixing variable values and assigning instance data to placeholders are performed.

An optimization problem that has both continuous and integer decision variables, and where the objective function and constraints are described quadratically. It is commonly referred to as a Mixed Integer Quadratically constrained quadratic program (MIQCQP).https://docs.ocean.dwavesys.com/en/stable/concepts/cqm.html

### Constraint (in terms of JijModeling)​

"Constraint" is a class in JijModeling that represents constraint conditions It allows users to express equality or inequality constraints within the JijModeling framework.

## D​

### D-Wave Leap Hybrid CQM Solver​

The Leap Hybrid solver is a solver that excels at solving optimization problems with many variables. It utilises a hybrid algorithm that combines quantum annealing machines and classical computers.

### Decision variable​

The variable that one wishes to determine in a given optimization problem.

### Default Solvers (for JijZept)​

Solvers that are available for immediate uses upon entering a JijZept contract.

### Digital Annealer​

Digital Annealer (DA) is a high-performance Ising machine provided by Fujitsu, which performs fast optimization calculations through highly parallelized algorithms.

## E​

### Element (in terms of JijModeling)​

"Element" is a class in JijModeling, designed for representing elements within a particular set. It serves multiple purposes including denoting indices that traverse specific ranges in both summation and product expressions, and acting as bound variables in universal quantifiers in constraint expressions.

### Expression (in terms of JijModeling)​

"Expression" in JijModeling is a data structure to manage mathematical models programmatically. It consists of trees whose nodes represent variables and operations and whose edges denote the arguments of the operations. This structure allows flexible and dynamic representations of mathematical expressions in the modeling framework.

## F​

### Fixing Variable Values / Fixed variables​

"Fixing variable values" involves the operation of substituting a part of decision variables with given values at the time of compilation rather than during the solving process. The pairs of decision variables and numerical values are referred to as "fixed variables." By passing fixed variables into JijZept Solver, the process of fixing variable values is carried out.

## G​

There are no glossary items.

## H​

### Higher Order Unconstrained Binary Optimization (HUBO)​

An optimization problem where all decision variables are binary and where the objective function is a polynomial of the decision variables without any constraint. "Polynomial Unconstrained Binary Optimization (PUBO)" is also used in the same meaning.

### Hybrid algorithm​

An algorithm that combines multiple optimization methods.

## I​

### Instance data (in terms of JijModeling)​

"Instance data" refers to a set of pairs that consist of placeholders and the corresponding values. Assignment of the values to the placeholders is taken place during compilation. Instance Data serves as one of the inputs for the JijZept Solver as well as the Problem.

### Instances​

In the context of algorithms, it refers to a specific case of a general problem. For example, in the Traveling Salesman Problem (TSP), where one wants to determine the shortest tour of a sales person, an instance is a given set of specific cities and the distances between them.

### Ising Model​

A toy model of ferromagnetism. The problem of determining the minimum energy state in this model is equivalent to the minimization problem of QUBO.

## J​

### JaggedArray (in terms of JijZept)​

"Jagged array" in JijZept refers to an unique form of multidimensional array with a specific characteristic. It is an array that has two or more dimensions, but unlike regular multidimensional arrays, the length along each direction can be not fixed; namely the row vectors and the column vectors (in 2D picture) not necessarily have the same number of elements. This flexibility allows complicated data structures where the elements do not neatly fit into a rectangular grid.

### JijModeling​

A Python package designed to intuitively write mathematical optimization models.

### JijModeling-Transpiler​

A Python package designed to facilitate the transpilation of mathematical models from JijModeling to other modeling platforms.

### JijModeling-Transpiler-Quantum​

A Python package to ease developments of quantum optimization algorithms. It can convert mathematical models described in JijModeling into Hamiltonians for quantum algorithms.

### JijZept Series​

The JijZept Series provides a range of tools and services designed to make mathematical optimization tasks easy to work on. The JijZept Series enables efficient utilization of various solvers and Ising machines to realize perfect experieses for users who are interested in application developments and mathematical optimization researches.

### JijZept Solver​

A cloud service that enables the use of multiple Ising machines with the same interface.

### Jupyter notebooks​

Jupyter Notebook is an open-source web application that allows users to create and share documents containing live code, equations, visualizations, and narrative text, primarily used for data analysis, scientific research, and machine learning.

## K​

There are no glossary items.

## L​

### Latex​

LaTeX is a typesetting system commonly used for creating documents, especially those containing complex mathematical notation, scientific publications, and theses. It provides a high-quality output by making use of markup commands to define structure and style, offering precise control over the document's appearance.

### Linear Programming​

An optimization problem where all decision variables are continuous and where the objective function and constraints are limited to be linear.

## M​

### MINTO​

A python library designed for developers working on research and development or proof-of-concept experiments using mathematical optimization. MINTO provides rich features such as storing optimization results, automatic aggregation of benchmark metrics, and visualization tools. One can expect a similar userbility to MLflow in the machine learning community.

### MIP solvers​

Softwares for solving MIP. Generally they are based on the Branch-and-Cut algorithm and aim to find optimal solutions.

### Mixed Integer Programming (MIP)​

An optimization problem that has both continuous and integer (discrete) decision variables. In a narrow sense, mixed-integer linear programming problems (MILP) are sometimes referred to as MIP.

### Model / Mathematical Model​

A formulation of a real-world problem that is solved into mathematical laguage.

## N​

### Non-Linear Programming (NLP)​

An optimization problem where the objective function or some of the constraints are nonlinear.

## O​

### OpenJij​

A heuristic optimization library for the Ising model and QUBO problems. Users can easily access the simulated annealing and simulated quantum annealing algorithms through this library. It features a user-friendly Python interface, and its core parts are written in C++ ensuring performance.

### Optimization problem​

A problem to determine the values of variables that minimize or maximize the objective function under specific constraints.

## P​

### Parameter tuning (in terms of optimization problems)​

When a given constrained optimization problem is converted into an unconstrained optimization problem using e.g. the penalty method, "parameter tuning" means adjusting the weight coefficients for a better representation of the original problem.

### Penalty Method​

One of the methods to convert a constrained optimization problem into an unconstrained optimization problem. Generically the penalty function is designed to be zero when the given constraints are satisfied. Then the total cost function to be minimized is the summation of the penalty and the original objective. To ensure that the optimal solution of the original problem coincides with the optimal solution for the penalty method, it is crucial to adjust the coefficients of the penalty function.

### Placeholder (in terms of JijModeling)​

"Placeholder" is a class in JijModeling used to describe mathematical models. Placeholder is different from decision variables in the sence that its value is determined at compile and that it acts as a marker indicating which given instance data is to be assigned.

### Playground​

Cloud development environment.

### Problem (in terms of JijModeling)​

"Problem" is a class in JijModeling that corresponds to an independent mathematical model and serves as one of the inputs, along with "instance data," for being passed to JijZept Solver.

### Polynomial Unconstrained Binary Optimization (PUBO)​

An optimization problem where all decision variables are binary and where the objective function is a polynomial of the decision variables without any constraint. "Higher Order Unconstrained Binary Optimization (HUBO)" is also used in the same meaning.

### Python-MIP​

One of the Python tools for modeling Mixed Integer Programmings (MIPs).

## Q​

### Quadratic Unconstrained Binary Optimization (QUBO)​

An optimization problem where all decision variables are binary and where the objective function is a quadratic of the decision variables without any constraint.

## R​

There are no glossary items.

## S​

### Sampler​

Sampler returns solutions for a given problem in a stochastical manner. Note that sampler's solution is not always good, so that one has to take multipul samples to obtain optimal (or better) solution. Cf. Solver.

### SDK​

SDK stands for Software Development Kit. It's a collection of software tools and libraries that developers can use to create applications for specific platforms or frameworks.

### Simulated Annealing (SA)​

SA is a method for solving combinatorial optimization problems and is one of meta-heuristic algorithms.

### Simulated Quantum Annealing (SQA)​

One of the classical methods for approximately simulating quantum annealing.

### Solvers​

Solver returns one correct answer for a given problem. Cf. Sampler.

### SQBM+​

SQBM+ is a solver provide from Toshiba, designed around the principles of the Simulated Bifurcation Algorithm.

## T​

### Third-party Solvers (for JijZept)​

Solvers that are provided by third-party vendor/company. For a use, they require separate contracts in addition to the JijZept agreement.

## U​

There are no glossary items.

## V​

### Var (in terms of JijModeling)​

"Var" is a suffix that represents decision variable classes in JijModeling. For instance, "BinaryVar" is a binary variable class.

## X​

There are no glossary items.

## Y​

There are no glossary items.

## Z​

There are no glossary items.