Annealing Cloud Web provides content to help you learn the basics of annealing machines and the skills needed to actually use the machines. However, we leave the knowledge that can be absorbed from other websites or books to them; instead we focus on content that is difficult to understand. This means that you can't do everything by ONLY learning from the Annealing Cloud Web. Therefore, this column introduces recommended books outside of Annealing Cloud Web that you should deepen your knowledge in order to actually use an annealing machine.

Yoneda, Yuki (Author) Gijutsu-Hyoron Co., Ltd.

Solving optimization problems in the world requires knowledge of algorithms and mathematics. Various algorithms are useful for faster and more efficient processing. To improve your ability to apply them, mathematical considerations are a great asset.

The following is a point-by-point summary of how this book can be useful to those learning about annealing machines.

This book covers the mathematical knowledge from middle school and high school levels, and is an excellent way to review the mathematical knowledge needed for optimization without having to relearn from those levels. These books can be an ally for the beginner learners of optimization. Specifically, the book provides easy-to-understand explanations of knowledge frequently used in problem-solving situations, such as matrices, the number of cases, and derivatives and integrals. Knowledge of these mathematics is necessary to effectively use an annealing machine.

When performing an optimization process for an issue, the algorithm can be used to predict the amount of computation. The computational complexity is one important indicator of what solution method to use. Also, the ability to think logically about how to view a realistic problem as a mathematical problem is important. By first learning basic algorithms, learner will be able to develop the applied skills necessary to formulate them, which will lead to innovation.

Furthermore, skills in creating and applying algorithms are also useful in building annealing machine hardware and mechanisms. If you are interested in developing new hardware, why not give it a try?

The author of this book is truly one of the best in the world, a regular at the top of programming contests and a three-time gold medal winner at the Mathematical Olympiad. The book is surprisingly well organized and written for the beginner level. The book is also very well written with references, references, and introductions to Internet content, making it a good book.

Mikio Kubo (Supervisor) Makoto Namiki (Author) Asakura Shoten

This book explains the fundamentals of the discipline of mathematical optimization, using samples written in Python. Although mathematical optimization has been explored in conventional computers and this book does not explain how to use an annealing machine, it will be helpful to learn well about mathematical optimization as a conventional research result and to clarify the correspondence with the application fields of the new technology, annealing machines, It will be useful for the exploration of annealing machines.

Chapter 1: Overview explains data types and basic syntax that even beginners can understand, and lists libraries for learning mathematical optimization, such as numpy, a Python library for handling matrices and vectors. This is a very kind book for learning mathematical optimization using Python as a tool. The book also uses numpy to solve "Signal Control Optimization For Congestion Relief", but it does not explain the syntax of numpy. By reading and working through this chapter, you will learn the basics and applications.

From Chapter 2 onward, methods for solving a variety of mathematical optimization problems are presented. Starting with linear optimization problems, which are used in a variety of fields, the book introduces how to solve integer linear optimization problems, graph optimization, and nonlinear optimization problems. By studying these from a bird's eye view, you will gain knowledge on how to deal with optimization problems. Among these, discrete variable optimization problems may be handled by annealing machines. We hope that you will learn an overview of mathematical optimization in this book and then learn how to use annealing machines in detail in Annealing Cloud Web.

Mikio Kubo, J.P. Pedroso, Masakazu Muramatsu, A. Reis (co-author) Kindai Kagaku.co.jp

Gurobi in the book title is a high-performance mathematical optimization solver for solving mixed integer programming problems. Some of the high-performance mathematical optimization solvers can be called directly from high-level programming languages, making it very easy to model and solve the world's complex problems. The author describes his reasons for writing this book as follows.

In response to this paradigm shift, the authors decided to write a new type of introductory book on mathematical optimization. The content of the book is limited to what is useful in practice, with a minimal amount of complex old theory. The mathematical optimization solver can be used almost as a black box, and it is not necessary to know all of its contents.

Although the annealing machine itself is not introduced in this book, the annealing machine, like Gurobi, allows the optimization part to be treated as a black box, eliminating the need to study the optimization calculation itself, which is conventionally required, and allowing the reader to concentrate on pre-processing considerations such as how to model the combinatorial optimization problem. The optimization process is a black box, so there is no need to consider the optimization calculations themselves, which were necessary in the past. The common flow of the optimization process makes it easy to apply the contents of this book. Once you have grasped the flow of expressing mathematical problems and obtaining solutions with Python in "Introduction to Mathematical Optimization with Python" introduced earlier, why not learn what kind of combinatorial problems exist and how they are formulated in this book and acquire the ability to utilize an annealing machine?

It is very difficult to use an optimization solver with perfection when first starting out. For example, one must try to solve extremely simple problems to verify their correctness. Such important tips are written throughout the book as "Modeling Tips" and are an important concept to grasp. In addition, the "Margin Seminar" explains the knowledge required for mathematical optimization, also taking into account its history.

In this column, we have introduced recommended books from the perspectives of "knowledge of mathematics and algorithms necessary for problem solving," "procedures for understanding problems mathematically and obtaining solutions using Python," and "knowledge to master new methods for solving difficult problems". We hope that they will serve as guideposts to deepen your exploration.

This article is part of the ACW Skills Roadmap. Use the skills roadmap to learn with ACW.

Did you find the article helpful? Please share it with others.

If you want to know specific examples of solving
combinatorial optimization problems with an annealing machine

Combinatorial optimization will be explained by using two easy-to-understand examples of familiar combinatorial optimization problems. The importance of finding and using fast solution methods for combinatorial optimization processes in an IoT society will also be discussed.

In the wake of the COVID-19 epidemic, we present a use case in which an annealing machine is used to create shifts for researchers under constraints that take into account the risk of infection.

This article presents a use case in which an annealing machine is used to formulate a reinsurance portfolio that leverages the vast amount of data held by an insurance company to address natural catastrophe risks.

If you want to know how to use an annealing machine

For beginners, this article explains the procedures and key points of the process of solving optimization problems with an annealing machine. The process involves dividing the problem into four stages: "organizing problem and defining problem," "formulation," "input data preparation," and "executing CMOS annealing machine".

This article provides an easy-to-understand explanation of the mathematical assumptions you need to understand, focusing on "quadratic" and "discrete," which are some of the characteristics of the problems that annealing machines excel at solving.