DOI: https://doi.org/10.1287/ijoc.2025.1446
تاريخ النشر: 2026-04-03
المؤلف: Oscar Dowson وآخرون
الموضوع الرئيسي: أبحاث خوارزميات التحسين المتقدمة
نظرة عامة
يقدم القسم MathOptAI.jl، مكتبة مفتوحة المصدر تم تطويرها بلغة جوليا تسهل دمج نماذج التعلم الآلي المدربة في أطر تحسين JuMP. تدعم هذه المكتبة مجموعة متنوعة من هياكل التعلم الآلي، بما في ذلك الشبكات العصبية، وأشجار القرار، والعمليات الغاوسية، وتتفاعل مع مكتبات مختلفة تعتمد على جوليا مثل Lux.jl وFlux.jl. ومن الجدير بالذكر أن MathOptAI.jl تتضمن أيضًا واجهة بايثون لاستيعاب نماذج PyTorch، مما يمكّن من حسابات فعالة من خلال تحميل تقييمات الدالة، وجاكوب، وهسيان إلى وحدة معالجة الرسومات أثناء تنفيذ أوراكل غير خطية أخرى على وحدة المعالجة المركزية.
يختتم البحث بتسليط الضوء على ميزة صياغة الصندوق الرمادي المبتكرة في MathOptAI.jl ويوجه القراء إلى Dowson et al. (2025) للحصول على الشيفرة المصدرية وإلى مستودع GitHub للحصول على آخر التحديثات. تشمل خطط التطوير المستقبلية تنفيذ خوارزميات التحلل وحلول الأنظمة الخطية المخصصة التي تستفيد من المعرفة السابقة بمؤشرات التعلم الآلي. يعترف المؤلفون بالتحدي المتمثل في الحفاظ على توازن بين توسيع قدرات المكتبة وتجنب تضخم الميزات، نظرًا للتنوع الواسع من المؤشرات المحتملة المتاحة.
مقدمة
تناقش مقدمة البحث اتجاهًا متزايدًا في تحسين الرياضيات يتضمن دمج نماذج التعلم الآلي المدربة في أطر تحسين أكبر. هذه الطريقة مفيدة بشكل خاص عند التعامل مع الأنظمة الفرعية المعقدة التي تفتقر إلى تمثيل جبري مباشر أو غير قابلة للاشتقاق. يشير المؤلفون إلى مراجعة بواسطة لوبيز-فلوريس وآخرون (2024) ويقدمون MathOptAI.jl، مكتبة مفتوحة المصدر تم تطويرها بلغة جوليا، مصممة لتسهيل هذا الدمج.
تسمح MathOptAI.jl بإدماج نماذج التعلم الآلي المختلفة، بما في ذلك الشبكات العصبية، وأشجار القرار، والعمليات الغاوسية، في مشاكل تحسين تم صياغتها باستخدام JuMP. تدعم المكتبة مجموعة متنوعة من أنواع تحسين الرياضيات، بما في ذلك البرمجة الخطية المختلطة وإعادة الصياغة غير الخطية السلسة وغير السلسة. الهدف الأساسي من MathOptAI.jl هو بناء مشاكل تحسين من الشكل:
\[
\min_{x \in \mathbb{R}^N, y \in \mathbb{R}^P} f_0(x, y) \quad \text{s.t.} \quad f_i(x, y) \in S_i, \, i = 1, \ldots, M \quad y = F(x),
\]
حيث \(f_i(x, y)\) هي دوال مقيدة لمجموعات \(S_i\) و\(y = F(x)\) تمثل مؤشر التعلم الآلي الذي سيتم إدماجه. يشير المؤلفون إلى أن مزيدًا من التفاصيل حول عملية الإدماج ستُقدم في القسم 2.
نقاش
يتناول قسم النقاش في البحث قدرات مكتبة MathOptAI.jl، التي تسهل دمج مؤشرات التعلم الآلي المختلفة في نماذج تحسين باستخدام JuMP. يوضح عدة أنواع من المؤشرات المدعومة من قبل المكتبة، بما في ذلك التحولات الخطية، ودوال التنشيط مثل ReLU وSigmoid، وهياكل أكثر تعقيدًا مثل أشجار القرار الثنائية والشبكات العصبية. تتيح المكتبة إدماج المؤشرات من خلال ثلاث صيغ: الفضاء الكامل، والفضاء المخفض، والصندوق الرمادي. تمثل الطريقة الكاملة المؤشرات بشكل صريح مع متغيرات القرار والقيود، بينما تؤجل صياغة الفضاء المخفض إدخال المتغيرات الوسيطة، مما يقلل من تعقيد النموذج. تتيح صياغة الصندوق الرمادي بشكل فريد استخدام نماذج التعلم الآلي دون الحاجة إلى تمثيلها الجبري، مما يسمح بالتقييم الفعال وحساب المشتقات باستخدام أدوات خارجية مثل PyTorch.
يؤكد البحث أن MathOptAI.jl تبرز في دعمها لصياغة الصندوق الرمادي، التي يمكن أن تتعامل مع الشبكات العصبية الكبيرة وتستفيد من تسريع GPU لتحسين الأداء. هذه الميزة غير متاحة في المكتبات المماثلة الأخرى، مما يجعل MathOptAI.jl مفيدة بشكل خاص لإدماج نماذج التعلم الآلي المعقدة في أطر تحسين. يعترف المؤلفون أنه بينما يمكن أن يختلف أداء كل صيغة بناءً على حالات المشكلة المحددة والأجهزة، فإن نهج الصندوق الرمادي يوفر قابلية توسيع ومرونة كبيرة. ستركز الأعمال المستقبلية على تعزيز قدرات المكتبة، بما في ذلك إضافة مؤشرات جديدة وحلول مخصصة، مع الحفاظ على توازن لتجنب تضخم الميزات.
DOI: https://doi.org/10.1287/ijoc.2025.1446
Publication Date: 2026-04-03
Author(s): Oscar Dowson et al.
Primary Topic: Advanced Optimization Algorithms Research
Overview
The section introduces MathOptAI.jl, an open-source library developed in Julia that facilitates the integration of trained machine learning models into JuMP optimization frameworks. This library supports a diverse range of machine learning architectures, including neural networks, decision trees, and Gaussian Processes, and interfaces with various Julia-based libraries such as Lux.jl and Flux.jl. Notably, MathOptAI.jl also incorporates a Python interface to accommodate PyTorch models, enabling efficient computation by offloading function, Jacobian, and Hessian evaluations to the GPU while executing other nonlinear oracles on the CPU.
The paper concludes by highlighting the innovative gray-box formulation feature of MathOptAI.jl and directs readers to Dowson et al. (2025) for the source code and to the GitHub repository for the latest updates. Future development plans include the implementation of decomposition algorithms and custom linear system solvers that utilize prior knowledge of the machine learning predictors. The authors acknowledge the challenge of maintaining a balance between expanding the library’s capabilities and avoiding feature bloat, given the vast array of potential predictors available.
Introduction
The introduction of the paper discusses a growing trend in mathematical optimization that involves integrating trained machine learning models into larger optimization frameworks. This approach is particularly useful when dealing with complex subsystems that lack a direct algebraic representation or are non-differentiable. The authors reference a review by López-Flores et al. (2024) and introduce MathOptAI.jl, an open-source library developed in Julia, designed to facilitate this integration.
MathOptAI.jl allows for the embedding of various machine learning models, including neural networks, decision trees, and Gaussian processes, into optimization problems formulated using JuMP. The library supports a diverse range of mathematical optimization types, including mixed-integer linear and both smooth and non-smooth nonlinear reformulations. The core objective of MathOptAI.jl is to construct optimization problems of the form:
\[
\min_{x \in \mathbb{R}^N, y \in \mathbb{R}^P} f_0(x, y) \quad \text{s.t.} \quad f_i(x, y) \in S_i, \, i = 1, \ldots, M \quad y = F(x),
\]
where \(f_i(x, y)\) are functions constrained to sets \(S_i\) and \(y = F(x)\) represents the machine learning predictor to be embedded. The authors note that further details on the embedding process will be provided in Section 2.
Discussion
The discussion section of the paper elaborates on the capabilities of the MathOptAI.jl library, which facilitates the integration of various machine learning predictors into optimization models using JuMP. It outlines several types of predictors supported by the library, including affine transformations, activation functions like ReLU and Sigmoid, and more complex structures such as binary decision trees and neural networks. The library allows for the embedding of predictors through three formulations: full-space, reduced-space, and gray-box. The full-space approach explicitly represents predictors with decision variables and constraints, while the reduced-space formulation delays the introduction of intermediate variables, thereby reducing the model’s complexity. The gray-box formulation uniquely enables the use of machine learning models without requiring their algebraic representation, allowing for efficient evaluation and derivative computation using external tools like PyTorch.
The paper emphasizes that MathOptAI.jl stands out in its support for the gray-box formulation, which can handle large-scale neural networks and leverage GPU acceleration for performance improvements. This feature is not available in other comparable libraries, making MathOptAI.jl particularly advantageous for embedding complex machine learning models into optimization frameworks. The authors acknowledge that while the performance of each formulation can vary based on specific problem instances and hardware, the gray-box approach offers significant scalability and flexibility. Future work will focus on enhancing the library’s capabilities, including the addition of new predictors and custom solvers, while maintaining a balance to avoid feature bloat.
