ParetoChat: An LLM-Based Interface for Interactive Multi-Objective Optimization
Organizations: Just Eat Takeaway.com
Abstract
Multi-objective optimization models are often deployed in settings where decision makers (DMs) must balance some conflicting criteria. In practice, however, stakeholders must translate their qualitative preferences between different criteria into numerical weights, priorities, or reference points required by optimization methods, which can be difficult to specify and interpret. This paper proposes ParetoChat, an LLM (large language model)-based expert-agent interface for interactive multi-objective optimization. The agent translates natural-language user input into structured scalarization parameters, invokes an optimization system, presents candidate solutions, and iteratively elicits feedback. We describe a multi-agent architecture that separates input processing, multi-criteria decision-making (MCDM) expertise, solution presentation, and feedback processing. We then present a simulation study using an LLM-based DM agent and benchmark ParetoChat against interactive methods implemented in DESDEO, including reference-point and NIMBUS methods. The computational experiments on multi-objective binary knapsack and set-partitioning instances show that ParetoChat can guide the search efficiently toward solutions that match the DM's preferences. An application to historical courier-order assignment instances illustrates how users can explore objective extremes and intermediate trade-offs through natural-language requests. The results indicate that LLM agents may provide a practical interaction layer between business stakeholders and optimization tools.
Figures & tables
| User preference | Referenced solutions | Scalarization type | Scalarization parameters |
|---|---|---|---|
| Find a balanced solution across both objectives. | None | Weighted-sum | |
| Improve delivery time, but do not let cost increase too much. | Augmented epsilon constraint | , , | |
| Cost is most important, then delivery time. | None | Lexicographic | =1, =2 |
| Show me something between these two saved options. | , | Weighted-sum in a bounded region | , , |
| Try to reach 30 minutes delivery time while keeping other metrics reasonable. | None | Achievement scalarizing function | , , |
| Cost (Euros) | Delivery time (mins) |
|---|---|
| 101000.0 | 30.0 |
| 100000.0 | 30.0 |
| 25000.0 | 34.0 |
| 25000.0 | 34.8 |
| 15000.0 | 35.0 |
| 14000.0 | 35.0 |
| Round 1 | Round 2 |
| User Find a solution that balances both objectives equally. | User Nice save it and find a solution that improves the delivery time somewhere around 30 minutes. |
| ParetoChat Based on your request to find a solution that balances both objectives equally, I found a candidate solution for you. To achieve this balance, I used the weighted-sum method. This assigns equal importance, or a weight of 50%, to both the cost and delivery-time objectives. The resulting solution has the following objective values. Cost: 9,000.0 Delivery Time: 36.0 What do you think of this solution? Would you like to save it? | ParetoChat Of course! Here is a presentation of the solution found based on your latest request. Based on your request to find a solution with a delivery time around 30 minutes, I have found a new solution for you. To achieve this, I used a reference point -based method. This means I searched for a solution where the delivery time is as close as possible to your target of 30 minutes. Here is the solution I found: Cost: 25,000.0 Delivery Time: 34.0 |
| Problem | Tool | Pareto size | Tool calls | Eval. sols | Optimal | Rank norm. | Rel. value gap | AIDM time (s) | Tool time (s) |
|---|---|---|---|---|---|---|---|---|---|
| 2OBKP | NIMBUS | 162.4 (35.1) | 6.6 (1.9) | 14.0 (5.1) | 22 | 0.9765 (0.0936) | 0.0096 (0.0439) | 77.57 (23.99) | 24.73 (7.24) |
| RPM | 7.1 (2.0) | 13.3 (3.9) | 7 | 0.9207 (0.0878) | 0.0282 (0.0350) | 74.19 (19.08) | 23.42 (6.32) | ||
| ParetoChat | 6.2 (1.0) | 5.3 (1.2) | 15 | 0.9613 (0.0769) | 0.0084 (0.0157) | 59.54 (17.39) | 216.88 (53.97) | ||
| 3OBKP | NIMBUS | 4927.6 (2010.3) | 7.3 (1.5) | 17.8 (7.2) | 0 | 0.8812 (0.1080) | 0.0636 (0.0522) | 95.98 (18.65) | 29.13 (6.31) |
| RPM | 6.5 (2.0) | 18.1 (4.0) | 7 | 0.9844 (0.0248) | 0.0160 (0.0186) | 82.02 (20.29) | 29.01 (8.22) | ||
| ParetoChat | 7.5 (1.5) | 6.1 (1.5) | 1 | 0.9074 (0.1065) | 0.0415 (0.0374) | 73.68 (14.70) | 278.50 (59.77) |
| Problem | Tool | Pareto size | Tool calls | Eval. sols | Optimal | Rank norm. | Rel. value gap | AIDM time (s) | Tool time (s) |
|---|---|---|---|---|---|---|---|---|---|
| 2OBKP | NIMBUS | 162.4 (35.1) | 8.8 (1.5) | 18.8 (5.6) | 15 | 0.9627 (0.0975) | 0.0018 (0.0042) | 96.90 (20.71) | 34.50 (6.38) |
| RPM | 7.5 (1.7) | 15.0 (4.3) | 16 | 0.9759 (0.0506) | 0.0008 (0.0013) | 73.86 (17.04) | 25.38 (5.40) | ||
| ParetoChat | 7.6 (2.0) | 6.6 (2.1) | 9 | 0.8925 (0.1523) | 0.0071 (0.0151) | 63.75 (26.57) | 296.29 (105.68) | ||
| 3OBKP | NIMBUS | 4927.6 (2010.3) | 8.6 (1.9) | 20.9 (6.4) | 0 | 0.9226 (0.0992) | 0.0153 (0.0167) | 104.01 (25.17) | 34.88 (8.15) |
| RPM | 8.1 (1.9) | 25.0 (7.1) | 4 | 0.9749 (0.0461) | 0.0071 (0.0114) | 104.26 (33.96) | 36.13 (7.88) | ||
| ParetoChat | 7.7 (1.3) | 6.6 (1.2) | 1 | 0.8350 (0.1558) | 0.0329 (0.0315) | 62.31 (11.00) | 300.98 (50.72) |
| Problem | Solver calls | Eval. sols | Optimal | Rank norm. | Rel. value gap | AIDM time (s) | Tool time (s) |
|---|---|---|---|---|---|---|---|
| 3OBKP | 13.4 (2.4) | 10.9 (2.3) | 9 | 0.966 (0.059) | 0.017 (0.020) | 118.0 (27.9) | 663.4 (148.2) |
| 4OBKP | 14.1 (1.9) | 10.9 (2.3) | 7 | 0.978 (0.034) | 0.036 (0.037) | 112.3 (24.6) | 672.1 (121.0) |
| Trial Number | User input | Generated scalarization | PD | DD | PU |
|---|---|---|---|---|---|
| 1 | Find a balancing solution | Weighted sum: , , | 0 | 166 | 340 |
| 2 | Now minimize delivery delay | Lexicographic: , , | 0 | 144 | 381 |
| 3 | Now minimize pickup duration | Weighted sum: , , | 9 | 368 | 286 |
| 4 | Find a solution between 2 and 3 | Weighted sum: , , | 0 | 177 | 329 |
| 5 | Find a solution between 3 and 4 | Weighted sum: , , | 9 | 204 | 314 |
| 6 | Find a solution between 3 and 5 | Weighted sum: , , | 9 | 230 | 307 |
| Trial Number | User input | Generated scalarization | PD | DD | PU |
|---|---|---|---|---|---|
| 1 | Find a solution that minimizes pickup duration | Lexicographic: , , | 105 | 1629 | 336 |
| 2 | Find a solution that minimizes delivery delay | Weighted sum: , , | 4 | 288 | 633 |
| 3 | Minimize delivery delay further. What is the minimum you can achieve? | Weighted sum: , , | 4 | 288 | 633 |
| 4 | Minimize delivery delay further. What is the minimum you can achieve? | Weighted sum: , , | 4 | 285 | 668 |
| 5 | Now minimize delivery delay using lexicographic method. | Lexicographic: , , | 10 | 285 | 668 |
| 6 | Now minimize pickup delay | Lexicographic: , , | 0 | 2034 | 853 |
Multi-Objective Optimization
Multi-objective optimization studies how to find and choose solutions that balance competing goals, constraints, and preferences.
See all 256 papers