Please enable JavaScript in your browser.

fltech - 富士通研究所の技術ブログ

富士通研究所の研究員がさまざまなテーマで語る技術ブログ

Introducing Composite AI – Generate optimization AI automatically –

Hello, I'm Hiroaki Iwashita from our Artificial Intelligence Laboratory. Today, I would like to introduce an exciting new AI core engine – Composite AI – which is now available from Fujitsu Kozuchi.

This article is part of a series introducing the AI core engines of Fujitsu Kozuchi, and you can find a full summary of the previous articles at the end.

Composite AI is a technology that proposes solutions to various business challenges through chat-style interaction with users. It achieves this by combining the best options from numerous AI models and data. Using a combination of multiple AI technologies, Composite AI can also deal with diverse and complex issues that could not be solved by a single AI technology. This significantly broadens the scope of AI utilization. It is one of Fujitsu Kozuchi’s AI core engines, which enables the fast testing of cutting-edge AI technologies developed by Fujitsu.

In this blog, I will introduce "optimization" within a variety of different business challenges. We have published a white paper on Composite AI, so please take a look at it as well.

Optimization can be applied to various problems, such as "job assignment". In this example, it finds the optimal assignment of available resources such as employees or machines for a specific task, considering various conditions including cost, skills and abilities, as well as priorities, with the aim of completing in the shortest time or minimizing cost. As the number of jobs, the number of available resources, and the number of conditions to consider increase, it becomes more complex and difficult to find the optimal assignment.

Previously, it was necessary to express the conditions (requirements) to be considered in mathematical equations (formulating) in order to find the optimal assignment, and to solve them using optimization algorithms. Even when using a tool called a solver, it was necessary to adopt this formulation approach. As a result, you always needed experts with a knowledge of formulating optimization problems. As part of the process, the expert would listen to the needs of the client, pull out other necessary requirements based on their technical knowledge and experience, turn these into mathematical formulas, find solutions, and make adjustments. This cycle of finding and refining solutions took a lot of time. For example, in factory staffing plans, it used to take one to two months to identify hundreds of requirements and create a schedule with the appropriate staff assignment. Composite AI transforms this type of challenge-solving.

Benefits of Composite AI and how to use it

The principal value of generating optimization AI automatically with Composite AI is to provide quick optimization results through a chat-like interactive interface for optimization problems. In the case of the factory staffing plans mentioned above, Composite AI was able to reduce it from one to two months to just one day.

To help you understand how to use it, I will give you a step-by-step guide of how to use the Composite AI interface.

Input to Composite AI is via chat-style messages. There are no specific rules for how to write these messages. You can input them in natural language. You don't need to provide all the information at once. If there is a lack of information, Composite AI will ask appropriate questions, allowing you to proceed while organizing the information.

Let’s use the example of "job assignment". When a problem or trouble (incident) occurs, you want to assign a certain number of staff (agents) to respond to the incidents and find out the quickest way to complete all the incidents. First, the user inputs a file that lists the processing times for each incident.

Composite AI reads the file and then asks the user how they would like to use this data.

The user inputs what they want to do (e.g. assign incidents to multiple agents) and indicates the processing time for each incident in the "pred_min" column of the file. In response, Composite AI asks the user for additional information such as the objective and whether there are any conditions to consider.

The user inputs that there are five agents and they want to complete all incidents in the shortest time possible. After getting the necessary information, Composite AI formulates an optimization problem to process all incidents in the shortest possible time.  

After the formulation is made, the user askes Composite AI to solve the problem. Then Composite AI outputs an assignment that completes all incidents in the shortest possible time.

The results are delivered in a file. If you want, the result can be shown in tables or graphs. You can specify the type of graph such as bar graphs or scatter plots, the style such as color-coding categories and the arrangement of graphs such as placing the initial results and new results side by side. In this case, the user specifies Gantt chart and color-code by incident.  

In addition, Composite AI is capable of assigning tasks to multiple machines, allocating classrooms or meeting rooms, as well as staff planning.

Features of Composite AI technology

A key feature of Composite AI is its "Requirement Learning Technology", which understands user requirements through interaction and solves specific problems based on them. This is enabled by a customized large language model (LLM) for specific problems.

While the LLM has a wide range of knowledge, it's not always easy to provide the correct answers users need just by having a wealth of knowledge. Therefore, a technology called "prompt engineering" becomes important. This is a technology that elicits more appropriate answers, depending on how you ask or prompt the LLM. For example, when solving optimization problems, the LLM is set as an optimization expert. This LLM plays the role of organizing the problem based on the user's requirements and formulating it mathematically.

The "job assignment problem" we tackled this time is a type of problem that can be formulated as an integer programming problem. To understand and formulate this problem properly, we utilized two LLM agents. The first LLM agent extracts the specific requirements of the problem through interaction with the user and organizes it as an optimization problem. The second LLM agent formulates this organized problem as an integer programming problem. This agent utilizes standard methods and knowledge to formulate integer programming problems, converting the problem into a mathematical model. Through the collaboration of these LLM agents, it has become possible stably to convert vague requirements expressed in natural language into mathematical expressions.

Interested in testing the Fujitsu Kozuchi?

Our Composite AI technology is still in its early stages and there are still many challenges to overcome. Currently, Composite AI is designed to handle specific types of optimization problems, and users need to preprocess the data for efficient use. However, we will continue to address these challenges as we actively incorporate the latest AI core engines and data processing technologies.

In the business scene, it is very challenging to formulate indefinite requirements clearly, and this process has become a major bottleneck in business expansion. Previously, prototyping has taken about a month, and we have been repeating the prototyping process based on feedback from our customers. Our goal in technology development is to reduce this time significantly and be able to provide solutions on the spot when we hear our customers' requirements.

For a demonstration or to test our Composite AI, please contact us here:

In addition to Composite AI, we also introduce other AI core engines of Fujitsu Kozuchi on our TECH BLOG.