ibnuljaiffarabi commited on
Commit
8945b6e
·
0 Parent(s):

optimization-ai999x 1.6.0: Apache-2.0 release

Browse files
.gitattributes ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ dist/optimization_ai999x-1.0.0-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
37
+ docs/optimization_ai999x_capabilities.pdf filter=lfs diff=lfs merge=lfs -text
38
+ dist/optimization_ai999x-1.0.1-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
39
+ dist/optimization_ai999x-1.0.2-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
40
+ dist/optimization_ai999x-1.0.3-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
41
+ docs/optimization_ai999x_rust_guide.pdf filter=lfs diff=lfs merge=lfs -text
42
+ dist/optimization_ai999x-1.1.0-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
43
+ dist/optimization_ai999x-1.5.0-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
44
+ dist/optimization_ai999x-1.6.0-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
CITATION.cff ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ cff-version: 1.2.0
2
+ message: "If you use this software, please cite it as below."
3
+ title: "optimization-ai999x: an offline, verified optimization solver"
4
+ authors:
5
+ - family-names: Farabi
6
+ given-names: Ibnul Jaif
7
+ affiliation: AI999X
8
+ version: 1.6.0
9
+ license: Apache-2.0
10
+ url: "https://huggingface.co/AI999X/optimization-ai999x"
11
+ repository-code: "https://github.com/AI999X/optimization-ai999x"
12
+ keywords:
13
+ - optimization
14
+ - operations-research
15
+ - linear-programming
16
+ - integer-programming
17
+ - network-optimization
18
+ - queueing
19
+ - inventory
20
+ - scheduling
21
+ - game-theory
22
+ - mcda
23
+ - ai999x
24
+ - offline
LICENSE ADDED
@@ -0,0 +1,204 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Copyright 2026 AI999X Labs and Ibnul Jaif Farabi
2
+ Contact: support@ai999x.com · ibnuljaiffarabi@ai999x.com · https://www.ai999x.com
3
+
4
+ Apache License
5
+ Version 2.0, January 2004
6
+ http://www.apache.org/licenses/
7
+
8
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
9
+
10
+ 1. Definitions.
11
+
12
+ "License" shall mean the terms and conditions for use, reproduction,
13
+ and distribution as defined by Sections 1 through 9 of this document.
14
+
15
+ "Licensor" shall mean the copyright owner or entity authorized by
16
+ the copyright owner that is granting the License.
17
+
18
+ "Legal Entity" shall mean the union of the acting entity and all
19
+ other entities that control, are controlled by, or are under common
20
+ control with that entity. For the purposes of this definition,
21
+ "control" means (i) the power, direct or indirect, to cause the
22
+ direction or management of such entity, whether by contract or
23
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
24
+ outstanding shares, or (iii) beneficial ownership of such entity.
25
+
26
+ "You" (or "Your") shall mean an individual or Legal Entity
27
+ exercising permissions granted by this License.
28
+
29
+ "Source" form shall mean the preferred form for making modifications,
30
+ including but not limited to software source code, documentation
31
+ source, and configuration files.
32
+
33
+ "Object" form shall mean any form resulting from mechanical
34
+ transformation or translation of a Source form, including but
35
+ not limited to compiled object code, generated documentation,
36
+ and conversions to other media types.
37
+
38
+ "Work" shall mean the work of authorship, whether in Source or
39
+ Object form, made available under the License, as indicated by a
40
+ copyright notice that is included in or attached to the work
41
+ (an example is provided in the Appendix below).
42
+
43
+ "Derivative Works" shall mean any work, whether in Source or Object
44
+ form, that is based on (or derived from) the Work and for which the
45
+ editorial revisions, annotations, elaborations, or other modifications
46
+ represent, as a whole, an original work of authorship. For the purposes
47
+ of this License, Derivative Works shall not include works that remain
48
+ separable from, or merely link (or bind by name) to the interfaces of,
49
+ the Work and Derivative Works thereof.
50
+
51
+ "Contribution" shall mean any work of authorship, including
52
+ the original version of the Work and any modifications or additions
53
+ to that Work or Derivative Works thereof, that is intentionally
54
+ submitted to Licensor for inclusion in the Work by the copyright owner
55
+ or by an individual or Legal Entity authorized to submit on behalf of
56
+ the copyright owner. For the purposes of this definition, "submitted"
57
+ means any form of electronic, verbal, or written communication sent
58
+ to the Licensor or its representatives, including but not limited to
59
+ communication on electronic mailing lists, source code control systems,
60
+ and issue tracking systems that are managed by, or on behalf of, the
61
+ Licensor for the purpose of discussing and improving the Work, but
62
+ excluding communication that is conspicuously marked or otherwise
63
+ designated in writing by the copyright owner as "Not a Contribution."
64
+
65
+ "Contributor" shall mean Licensor and any individual or Legal Entity
66
+ on behalf of whom a Contribution has been received by Licensor and
67
+ subsequently incorporated within the Work.
68
+
69
+ 2. Grant of Copyright License. Subject to the terms and conditions of
70
+ this License, each Contributor hereby grants to You a perpetual,
71
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
72
+ copyright license to reproduce, prepare Derivative Works of,
73
+ publicly display, publicly perform, sublicense, and distribute the
74
+ Work and such Derivative Works in Source or Object form.
75
+
76
+ 3. Grant of Patent License. Subject to the terms and conditions of
77
+ this License, each Contributor hereby grants to You a perpetual,
78
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
79
+ (except as stated in this section) patent license to make, have made,
80
+ use, offer to sell, sell, import, and otherwise transfer the Work,
81
+ where such license applies only to those patent claims licensable
82
+ by such Contributor that are necessarily infringed by their
83
+ Contribution(s) alone or by combination of their Contribution(s)
84
+ with the Work to which such Contribution(s) was submitted. If You
85
+ institute patent litigation against any entity (including a
86
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
87
+ or a Contribution incorporated within the Work constitutes direct
88
+ or contributory patent infringement, then any patent licenses
89
+ granted to You under this License for that Work shall terminate
90
+ as of the date such litigation is filed.
91
+
92
+ 4. Redistribution. You may reproduce and distribute copies of the
93
+ Work or Derivative Works thereof in any medium, with or without
94
+ modifications, and in Source or Object form, provided that You
95
+ meet the following conditions:
96
+
97
+ (a) You must give any other recipients of the Work or
98
+ Derivative Works a copy of this License; and
99
+
100
+ (b) You must cause any modified files to carry prominent notices
101
+ stating that You changed the files; and
102
+
103
+ (c) You must retain, in the Source form of any Derivative Works
104
+ that You distribute, all copyright, patent, trademark, and
105
+ attribution notices from the Source form of the Work,
106
+ excluding those notices that do not pertain to any part of
107
+ the Derivative Works; and
108
+
109
+ (d) If the Work includes a "NOTICE" text file as part of its
110
+ distribution, then any Derivative Works that You distribute must
111
+ include a readable copy of the attribution notices contained
112
+ within such NOTICE file, excluding those notices that do not
113
+ pertain to any part of the Derivative Works, in at least one
114
+ of the following places: within a NOTICE text file distributed
115
+ as part of the Derivative Works; within the Source form or
116
+ documentation, if provided along with the Derivative Works; or,
117
+ within a display generated by the Derivative Works, if and
118
+ wherever such third-party notices normally appear. The contents
119
+ of the NOTICE file are for informational purposes only and
120
+ do not modify the License. You may add Your own attribution
121
+ notices within Derivative Works that You distribute, alongside
122
+ or as an addendum to the NOTICE text from the Work, provided
123
+ that such additional attribution notices cannot be construed
124
+ as modifying the License.
125
+
126
+ You may add Your own copyright statement to Your modifications and
127
+ may provide additional or different license terms and conditions
128
+ for use, reproduction, or distribution of Your modifications, or
129
+ for any such Derivative Works as a whole, provided Your use,
130
+ reproduction, and distribution of the Work otherwise complies with
131
+ the conditions stated in this License.
132
+
133
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
134
+ any Contribution intentionally submitted for inclusion in the Work
135
+ by You to the Licensor shall be under the terms and conditions of
136
+ this License, without any additional terms or conditions.
137
+ Notwithstanding the above, nothing herein shall supersede or modify
138
+ the terms of any separate license agreement you may have executed
139
+ with Licensor regarding such Contributions.
140
+
141
+ 6. Trademarks. This License does not grant permission to use the trade
142
+ names, trademarks, service marks, or product names of the Licensor,
143
+ except as required for reasonable and customary use in describing the
144
+ origin of the Work and reproducing the content of the NOTICE file.
145
+
146
+ 7. Disclaimer of Warranty. Unless required by applicable law or
147
+ agreed to in writing, Licensor provides the Work (and each
148
+ Contributor provides its Contributions) on an "AS IS" BASIS,
149
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
150
+ implied, including, without limitation, any warranties or conditions
151
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
152
+ PARTICULAR PURPOSE. You are solely responsible for determining the
153
+ appropriateness of using or redistributing the Work and assume any
154
+ risks associated with Your exercise of permissions under this License.
155
+
156
+ 8. Limitation of Liability. In no event and under no legal theory,
157
+ whether in tort (including negligence), contract, or otherwise,
158
+ unless required by applicable law (such as deliberate and grossly
159
+ negligent acts) or agreed to in writing, shall any Contributor be
160
+ liable to You for damages, including any direct, indirect, special,
161
+ incidental, or consequential damages of any character arising as a
162
+ result of this License or out of the use or inability to use the
163
+ Work (including but not limited to damages for loss of goodwill,
164
+ work stoppage, computer failure or malfunction, or any and all
165
+ other commercial damages or losses), even if such Contributor
166
+ has been advised of the possibility of such damages.
167
+
168
+ 9. Accepting Warranty or Additional Liability. While redistributing
169
+ the Work or Derivative Works thereof, You may choose to offer,
170
+ and charge a fee for, acceptance of support, warranty, indemnity,
171
+ or other liability obligations and/or rights consistent with this
172
+ License. However, in accepting such obligations, You may act only
173
+ on Your own behalf and on Your sole responsibility, not on behalf
174
+ of any other Contributor, and only if You agree to indemnify,
175
+ defend, and hold each Contributor harmless for any liability
176
+ incurred by, or claims asserted against, such Contributor by reason
177
+ of your accepting any such warranty or additional liability.
178
+
179
+ END OF TERMS AND CONDITIONS
180
+
181
+ APPENDIX: How to apply the Apache License to your work.
182
+
183
+ To apply the Apache License to your work, attach the following
184
+ boilerplate notice, with the fields enclosed by brackets "[]"
185
+ replaced with your own identifying information. (Don't include
186
+ the brackets!) The text should be enclosed in the appropriate
187
+ comment syntax for the file format. We also recommend that a
188
+ file or class name and description of purpose be included on the
189
+ same "printed page" as the copyright notice for easier
190
+ identification within third-party archives.
191
+
192
+ Copyright 2026 AI999X Labs and Ibnul Jaif Farabi
193
+
194
+ Licensed under the Apache License, Version 2.0 (the "License");
195
+ you may not use this file except in compliance with the License.
196
+ You may obtain a copy of the License at
197
+
198
+ http://www.apache.org/licenses/LICENSE-2.0
199
+
200
+ Unless required by applicable law or agreed to in writing, software
201
+ distributed under the License is distributed on an "AS IS" BASIS,
202
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
203
+ See the License for the specific language governing permissions and
204
+ limitations under the License.
NOTICE ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ AI999X
2
+ Copyright 2026 AI999X Labs and Ibnul Jaif Farabi
3
+
4
+ Licensed under the Apache License, Version 2.0 (see LICENSE).
5
+
6
+ support@ai999x.com
7
+ ibnuljaiffarabi@ai999x.com
8
+ https://www.ai999x.com
README.md ADDED
@@ -0,0 +1,1057 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ license_link: LICENSE
4
+ library_name: optimization-ai999x
5
+ language:
6
+ - en
7
+ inference: false
8
+ pipeline_tag: question-answering
9
+ tags:
10
+ - optimization
11
+ - operations-research
12
+ - linear-programming
13
+ - integer-programming
14
+ - network-optimization
15
+ - queueing
16
+ - inventory
17
+ - scheduling
18
+ - game-theory
19
+ - mcda
20
+ - linear-and-integer-programming
21
+ - convex-and-nonlinear-optimisation
22
+ - assignment
23
+ - question-answering
24
+ - rust
25
+ - optimization-solver
26
+ - step-by-step-solutions
27
+ - homework-help
28
+ - offline
29
+ - zero-hallucination
30
+ - python
31
+ - ai999x
32
+ model-index:
33
+ - name: optimization-ai999x
34
+ results:
35
+ - task:
36
+ type: question-answering
37
+ name: optimization question answering
38
+ dataset:
39
+ name: "Golden answers (247 documented questions, Windows + Linux Python 3.10-3.14)"
40
+ type: ai999x-evaluation
41
+ metrics:
42
+ - type: accuracy
43
+ value: 1.0
44
+ name: "identical on every platform"
45
+ ---
46
+ # optimization-ai999x: offline, verified optimization solver with step-by-step answers
47
+
48
+ **[Desktop app & command line](https://www.ai999x.com/desktop-cli/)** · **[Compute in your browser](https://www.ai999x.com/models/optimization-ai999x/#try)** · **[Install (Python)](https://pypi.org/project/optimization-ai999x/)** · **[Guides](https://huggingface.co/AI999X/optimization-ai999x/tree/main/docs)** · **[Evaluation](https://huggingface.co/AI999X/optimization-ai999x/tree/main/evaluation)** · **[AI999X on Hugging Face](https://huggingface.co/AI999X)** · **[Website](https://ai999x.com)** · **[Support: Buy Me a Coffee](https://buymeacoffee.com/ibnuljaiffarabi)**
49
+
50
+ License: Apache-2.0 · Author: Ibnul Jaif Farabi (creator and engineer) · Organization: AI999X · Version 1.6.0
51
+
52
+ Field: **Mathematics & Statistics** · Tasks: Question Answering
53
+
54
+ optimization-ai999x is an offline, deterministic optimization solver written in Rust: a desktop app, a command-line program, a browser module and a Python package. It answers optimization questions with verified results from 73 certified capabilities, gives 247 documented answers identically on Windows and Linux, and refuses rather than guesses when an answer cannot be verified.
55
+
56
+ **optimization-ai999x** reads a question in plain English (or a typed call), picks a certified optimization capability, computes the answer exactly, checks it, and returns the result with its steps, units, LaTeX and assumptions, or a refusal that says what is missing. It runs fully offline on any CPU, needs no GPU, no API key and no internet, and is built to give **zero wrong answers**: when it is not sure, it refuses instead of guessing.
57
+
58
+ [![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-support%20development-FFDD00?logo=buymeacoffee&logoColor=black)](https://buymeacoffee.com/ibnuljaiffarabi) ![License](https://img.shields.io/badge/license-Apache--2.0-blue) ![Python](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-blue) ![Offline](https://img.shields.io/badge/runs-offline%20on%20CPU-green) ![Rust](https://img.shields.io/badge/Rust-Windows%20%7C%20Linux%20%7C%20WebAssembly-orange)
59
+
60
+ **Run it your way.** optimization-ai999x comes as the AI999X desktop app and as the command-line program `optimization` for Windows and Linux, runs in your browser as WebAssembly, and installs as a Python package. The desktop app, the command line and the browser run the same compiled Rust program on your own device: offline, no Python needed.
61
+
62
+ ## Get it
63
+
64
+ | Way to run it | For | Get it |
65
+ |---|---|---|
66
+ | **AI999X Optimization desktop app** 1.5.0 | Windows, Linux. This model in its own app: search, ask in words, forms, live figures, explanations, offline | [Windows (x86-64)](https://downloads.ai999x.com/desktop/1.5.0/ai999x-optimization-1.5.0-windows-x86_64.zip) · [Linux (x86-64)](https://downloads.ai999x.com/desktop/1.5.0/ai999x-optimization-1.5.0-linux-x86_64.tar.gz) |
67
+ | **AI999X desktop app** 1.5.0 | Windows, Linux. Every AI999X model in one app: search, ask in words, forms, live figures, explanations, offline | [Windows (x86-64)](https://downloads.ai999x.com/desktop/1.5.0/ai999x-1.5.0-windows-x86_64.zip) · [Linux (x86-64)](https://downloads.ai999x.com/desktop/1.5.0/ai999x-1.5.0-linux-x86_64.tar.gz) |
68
+ | **Command line** (`optimization`) | Windows, Linux. One program per model, offline, no Python | [Windows (x86-64)](https://downloads.ai999x.com/desktop/1.5.0/ai999x-cli-1.5.0-windows-x86_64.zip) · [Linux (x86-64)](https://downloads.ai999x.com/desktop/1.5.0/ai999x-cli-1.5.0-linux-x86_64.tar.gz) |
69
+ | **In your browser** | any device. Nothing to install | [Compute on the model page](https://www.ai999x.com/models/optimization-ai999x/#try) |
70
+ | **Python** | Python 3.10+ | `pip install optimization-ai999x` |
71
+
72
+ Checksums: [SHA256SUMS](https://downloads.ai999x.com/desktop/1.5.0/SHA256SUMS) · every version: [https://downloads.ai999x.com/desktop/latest/](https://downloads.ai999x.com/desktop/latest/) · install guide: [desktop & command line](https://www.ai999x.com/desktop-cli/)
73
+
74
+ ## Quick start
75
+
76
+ ### Desktop app
77
+
78
+ Download **AI999X Optimization** for your system (above), unpack it and start it; type a question in words or pick a capability, fill in the form and press Compute. Figures and an explanation of the answer appear beside it. The AI999X desktop app has the same, with Optimization among all AI999X models.
79
+
80
+ Linux, from a terminal:
81
+
82
+ ```bash
83
+ curl -LO https://downloads.ai999x.com/desktop/1.5.0/ai999x-optimization-1.5.0-linux-x86_64.tar.gz
84
+ curl -LO https://downloads.ai999x.com/desktop/1.5.0/SHA256SUMS
85
+ sha256sum -c --ignore-missing SHA256SUMS
86
+ tar xzf ai999x-optimization-1.5.0-linux-x86_64.tar.gz
87
+ ./ai999x-optimization-1.5.0-linux-x86_64/ai999x-optimization
88
+ ```
89
+
90
+ ### Command line
91
+
92
+ Linux:
93
+
94
+ ```bash
95
+ curl -LO https://downloads.ai999x.com/desktop/1.5.0/ai999x-cli-1.5.0-linux-x86_64.tar.gz
96
+ curl -LO https://downloads.ai999x.com/desktop/1.5.0/SHA256SUMS
97
+ sha256sum -c --ignore-missing SHA256SUMS
98
+ mkdir -p ~/.local/share && tar xzf ai999x-cli-1.5.0-linux-x86_64.tar.gz -C ~/.local/share
99
+ echo 'export PATH="$HOME/.local/share/ai999x-cli-1.5.0-linux-x86_64:$PATH"' >> ~/.bashrc && source ~/.bashrc
100
+ optimization --version
101
+ ```
102
+
103
+ Windows (PowerShell):
104
+
105
+ ```powershell
106
+ $F = "ai999x-cli-1.5.0-windows-x86_64.zip"
107
+ Invoke-WebRequest "https://downloads.ai999x.com/desktop/1.5.0/$F" -OutFile $F
108
+ Invoke-WebRequest "https://downloads.ai999x.com/desktop/1.5.0/SHA256SUMS" -OutFile SHA256SUMS
109
+ (Get-FileHash $F -Algorithm SHA256).Hash.ToLower() -eq ((Select-String -SimpleMatch $F SHA256SUMS).Line -split ' ')[0]
110
+ Expand-Archive $F -DestinationPath "$env:LOCALAPPDATA\AI999X" -Force
111
+ $D = "$env:LOCALAPPDATA\AI999X\ai999x-cli-1.5.0-windows-x86_64"; $env:Path += ";$D"
112
+ [Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$D", "User")
113
+ optimization --version
114
+ ```
115
+
116
+ Every command below was run as shown; the text under it is what the program printed.
117
+
118
+ **Ask in words**: Write the question as you would say it: the program reads the quantities and their units, picks the capability and answers.
119
+
120
+ ```console
121
+ $ optimization ask "Solve the transportation problem with supply [20, 30], demand [10, 25, 15] and cost matrix [[2, 3, 1], [5, 4, 8]]."
122
+ Read as: Transportation problem (minimum shipping cost)
123
+ min_cost = 150
124
+ shipments = [[5.0,0.0,15.0],[5.0,25.0,0.0]]
125
+ plan_unique = yes
126
+ dual = [-3.0,0.0,5.0,4.0,4.0]
127
+ by: Transportation problem (minimum shipping cost) (the transportation LP solved exactly (rational simplex), certified by its dual (u_i + v_j <= c_ij))
128
+ assumes: total supply >= total demand (surplus stays at the sources at no cost); at most 60 routes
129
+ ```
130
+
131
+ **What a capability needs**: The equation or method, every input and output with its SI unit. Read this before solve: it tells you the input names.
132
+
133
+ ```console
134
+ $ optimization info eoq
135
+ Economic order quantity (EOQ)
136
+ minimise D S / Q + H Q / 2 (at the optimum ordering cost equals holding cost)
137
+ in D demand per period (units, e.g. per year) [1]
138
+ in S fixed cost per order [1]
139
+ in H holding cost per unit per period [1]
140
+ out Q economic order quantity [1]
141
+ out total_cost minimum ordering + holding cost per period [1]
142
+ out orders_per_period number of orders per period [1]
143
+ out cycle_time time between orders (in periods) [1]
144
+ ```
145
+
146
+ **Solve**: Inputs as name=value, each with any unit of the right kind. The answer lists every output, the method used, each input converted to SI, and the conditions the answer assumes.
147
+
148
+ ```console
149
+ $ optimization solve eoq D=1200 S=50 H=3
150
+ Q = 200
151
+ total_cost = 600
152
+ orders_per_period = 6
153
+ cycle_time = 0.1666666667
154
+ by: Economic order quantity (EOQ) (minimise D S / Q + H Q / 2 (at the optimum ordering cost equals holding cost))
155
+ D = 1200
156
+ S = 50
157
+ H = 3
158
+ assumes: D, S, H > 0; constant demand, instant replenishment, no shortages
159
+ ```
160
+
161
+ **Many questions at once**: One JSON request per line in, one JSON answer per line out, in order: for scripts, notebooks and agents (the program starts once). In PowerShell: Get-Content cases.jsonl | optimization batch
162
+
163
+ `cases.jsonl`:
164
+
165
+ ```json
166
+ {"key": "eoq", "inputs": {"D": 1200, "S": 50, "H": 3}}
167
+ {"key": "ahp_consistency_ratio", "inputs": {"judgments": "[3, 5, 2]"}}
168
+ ```
169
+
170
+ ```console
171
+ $ optimization batch < cases.jsonl
172
+ {"outcome":"SOLVED","message":"","value":200.0,"unit":"","solved_for":"Q","si":[["D",1200.0],["S",50.0],["H",3.0]],"values":[["Q",200.0,""],["total_cost",600.0,""],["orders_per_period",6.0,""],["cycle_time",0.16666666666666666,""]],"target":"Q","phrase":"economic order quantity","assumptions":["D, S, H > 0","constant demand, instant replenishment, no shortages"],"name":"Economic order quantity (EOQ)","equation":"minimise D S / Q + H Q / 2 (at the optimum ordering cost equals holding cost)"}
173
+ {"outcome":"SOLVED","message":"","value":0.0031849983307239735,"unit":"","solved_for":"CR","values":[["CR",0.0031849983307239735,""],["CI",0.0018472990318199045,""],["lambda_max",3.00369459806364,""],["weights",[0.6483290138222366,0.2296507940626371,0.12202019211512621],""],["acceptable","yes",""]],"target":"CR","phrase":"consistency ratio","assumptions":["3 to 10 criteria","RI = 0.58, 0.90, 1.12, 1.24, 1.32, 1.41, 1.45, 1.49 for n = 3..10 (Saaty)"],"name":"AHP consistency ratio","equation":"principal eigenpair by power iteration (certified as an eigenpair), then CI and CR"}
174
+ ```
175
+
176
+ ### In your browser
177
+
178
+ Open [Optimization on ai999x.com](https://www.ai999x.com/models/optimization-ai999x/#try), choose a capability and press **Compute**: the model runs on your own device as WebAssembly; nothing is sent anywhere. Change any input (any unit of the right kind) and the answer, its explanation and the figures follow.
179
+
180
+ In your own page: `optimization_ai999x.wasm` and the loader `ax-wasm.js` (https://www.ai999x.com/compute/rust/ax-wasm.js).
181
+
182
+ ### Python
183
+
184
+ ```bash
185
+ pip install optimization-ai999x
186
+ ```
187
+
188
+ ## Worked examples in every form
189
+
190
+ The same worked example from the command line, from Python and in the browser. Each command-line output is what the program printed.
191
+
192
+ ### Absolute extrema of a polynomial on a closed interval
193
+
194
+ The absolute minimum and maximum of a polynomial on [lo, hi] (closed-interval method: endpoints and critical points), and where they are attained.
195
+
196
+ Command line:
197
+
198
+ ```console
199
+ $ optimization solve polynomial_extrema_interval "coefficients=[1, -3, 0, 2]" lo=-1 hi=3
200
+ min_value = -2
201
+ max_value = 2
202
+ argmin_example = -1
203
+ argmax_example = 0
204
+ by: Absolute extrema of a polynomial on a closed interval (real roots of f' in [lo, hi] (monotone pieces between the roots of f'' bisected to the last float), compared with the endpoints)
205
+ lo = -1
206
+ hi = 3
207
+ assumes: lo < hi; degree 1 to 5
208
+ ```
209
+
210
+ Python:
211
+
212
+ ```python
213
+ import optimization_ai999x as m
214
+
215
+ a = m.solve("polynomial_extrema_interval", coefficients=[1, -3, 0, 2], lo="-1", hi="3")
216
+ print(a.values or (a.value, a.unit))
217
+ ```
218
+
219
+ Browser: [open this capability on the model page](https://www.ai999x.com/models/optimization-ai999x/#cap-polynomial_extrema_interval) and press **Compute in your browser**.
220
+
221
+ _What this means:_ This calculation determines the global extrema of a polynomial on the closed interval from -1 to 3. It evaluates the function at the endpoints and all real critical points where the derivative is zero within the interval. The smallest resulting value is reported as the absolute minimum, -2, attained at -1, while the largest is the absolute maximum, 2, found at 0.
222
+
223
+ ### Closed cylinder of least surface area for a given volume
224
+
225
+ The radius, height and surface area of the closed cylindrical can that holds a volume V with the least material.
226
+
227
+ Command line:
228
+
229
+ ```console
230
+ $ optimization solve can_min_surface V=500
231
+ radius = 4.301270069
232
+ height = 8.602540138
233
+ min_area = 348.7342055
234
+ by: Closed cylinder of least surface area for a given volume (A(r) = 2 pi r^2 + 2V/r; A'(r) = 0)
235
+ V = 500
236
+ assumes: V > 0; closed top and bottom
237
+ ```
238
+
239
+ Python:
240
+
241
+ ```python
242
+ import optimization_ai999x as m
243
+
244
+ a = m.solve("can_min_surface", V="500")
245
+ print(a.values or (a.value, a.unit))
246
+ ```
247
+
248
+ Browser: [open this capability on the model page](https://www.ai999x.com/models/optimization-ai999x/#cap-can_min_surface) and press **Compute in your browser**.
249
+
250
+ _What this means:_ This calculation determines the dimensions for a closed cylindrical container that holds a specific volume while using the least amount of material. Given an input volume of 500, the method finds the optimal radius to be 4.30127 and the corresponding height to be 8.60254. The resulting minimum surface area required is 348.734. This ensures efficient packaging design by balancing the top, bottom, and side surfaces.
251
+
252
+ ### Critical point of a two-variable quadratic and its classification
253
+
254
+ For f(x, y) = a x^2 + b xy + c y^2 + d x + e y + f0: the critical point, its value and whether it is a local minimum, a local maximum or a saddle point (second-derivative test).
255
+
256
+ Command line:
257
+
258
+ ```console
259
+ $ optimization solve critical_point_two_variables a=3 b=2 c=1 d=-4 e=6 f0=1
260
+ f_value = -20.5
261
+ x = 2.5
262
+ y = -5.5
263
+ type = local minimum
264
+ by: Critical point of a two-variable quadratic and its classification (grad f = 0 solved exactly; D = f_xx f_yy - f_xy^2 = 4ac - b^2 classifies it)
265
+ a = 3
266
+ b = 2
267
+ c = 1
268
+ d = -4
269
+ e = 6
270
+ f0 = 1
271
+ assumes: 4ac - b^2 != 0 (an isolated critical point)
272
+ ```
273
+
274
+ Python:
275
+
276
+ ```python
277
+ import optimization_ai999x as m
278
+
279
+ a = m.solve("critical_point_two_variables", a="3", b="2", c="1", d="-4", e="6", f0="1")
280
+ print(a.values or (a.value, a.unit))
281
+ ```
282
+
283
+ Browser: [open this capability on the model page](https://www.ai999x.com/models/optimization-ai999x/#cap-critical_point_two_variables) and press **Compute in your browser**.
284
+
285
+ _What this means:_ This calculation identifies the stationary point for the quadratic function defined by coefficients 3, 2, 1, -4, 6, and 1. Solving the gradient equal to zero shows that the critical point occurs at coordinates x equals 2.5 and y equals -5.5. The value of the function at this specific location is -20.5. Based on the second derivative test, which examines the curvature using the determinant of the Hessian matrix, the nature of this point is classified as a local minimum. This classification indicates whether the surface curves upward like a bowl, downward like a dome, or forms a saddle shape at this coordinate.
286
+
287
+ ### Largest rectangle for a given length of fencing
288
+
289
+ The dimensions and maximum area of a rectangle enclosed by a fence of length L, on four sides or on three sides with a wall or river as the fourth.
290
+
291
+ Command line:
292
+
293
+ ```console
294
+ $ optimization solve fence_max_area wall=False L=200
295
+ width = 50
296
+ length = 50
297
+ max_area = 2500
298
+ by: Largest rectangle for a given length of fencing (area as a function of one side, derivative set to zero)
299
+ L = 200
300
+ assumes: L > 0
301
+ ```
302
+
303
+ Python:
304
+
305
+ ```python
306
+ import optimization_ai999x as m
307
+
308
+ a = m.solve("fence_max_area", wall="False", L="200")
309
+ print(a.values or (a.value, a.unit))
310
+ ```
311
+
312
+ Browser: [open this capability on the model page](https://www.ai999x.com/models/optimization-ai999x/#cap-fence_max_area) and press **Compute in your browser**.
313
+
314
+ _What this means:_ This calculation finds the largest rectangular area possible for a given fencing length. Using the total fence amount 200, it determines the optimal side dimensions. The resulting maximum area is 2500, achieved when the perpendicular side is 50 and the parallel side is 50. This ensures the most efficient use of boundary materials.
315
+
316
+ ## Documentation
317
+
318
+ - **Rust user guide**: the command line, every capability with a command and what it printed: [PDF](docs/optimization_ai999x_rust_guide.pdf) · [Markdown](docs/optimization_ai999x_rust_guide.md)
319
+ - **Python guide**: every capability with a Python example: [PDF](docs/optimization_ai999x_capabilities.pdf) · [Markdown](docs/optimization_ai999x_capabilities.md)
320
+ - **Desktop app & command line**: downloads, install, ask and search, figures, offline use, checksums: https://www.ai999x.com/desktop-cli/
321
+ - **Model page**: compute in your browser, every capability explained: https://www.ai999x.com/models/optimization-ai999x/
322
+
323
+ ## Highlights
324
+
325
+ - **Verified, not generated.** Every answer is computed by a certified optimization capability and checked (substituted back, dimension-checked or compared with an independent computation) before it is returned.
326
+ - **Zero wrong answers by design.** Seven explicit outcomes (SOLVED, NEEDS_INPUT, AMBIGUOUS, INVALID_INPUT, OUT_OF_SCOPE, UNRECOGNIZED_FORMAT, INTERNAL_ERROR), never a silent guess. Every one of its 247 documented answers is reproduced exactly on every tested platform.
327
+ - **Plain-English questions and a guaranteed typed interface.** `ask()` reads documented question forms; `solve(capability_id, **inputs)` always solves a supported task with valid inputs.
328
+ - **Explains itself.** Steps, formulas in LaTeX, units, assumptions and the model used, ready for notebooks, tutoring apps and homework checkers.
329
+ - **Native and in the browser.** Every capability also computes natively in Rust: the desktop app and the `optimization` command line for Windows and Linux, and WebAssembly on the model page, no Python, no network.
330
+ - **Small and portable.** Pure Python (sympy, mpmath); identical answers on Windows and Linux (Python 3.10, 3.11, 3.12, 3.13, 3.14).
331
+ - **Coverage:** linear and integer programming, convex and nonlinear optimisation, assignment, transportation and shortest-route problems, scheduling, inventory, queueing, game theory and multi-criteria decisions.
332
+
333
+ ## Model overview
334
+
335
+ | Property | Value |
336
+ |---|---|
337
+ | Package | `optimization-ai999x` 1.6.0 (import `optimization_ai999x`) |
338
+ | Type | Deterministic neuro-symbolic optimization engine (rule-based reading + certified symbolic capabilities) |
339
+ | Capabilities | 73 certified procedures |
340
+ | Knowledge pack | version 1.0.1 |
341
+ | Golden answers | 247 documented answers, identical on every tested platform |
342
+ | Platforms tested | Windows (Python 3.13), Linux x86-64 (Python 3.10, 3.11, 3.12, 3.13, 3.14) |
343
+ | Runtime | CPU only, offline; no GPU, no network, no API key |
344
+ | License | Apache-2.0 |
345
+ | Creator / engineer | Ibnul Jaif Farabi |
346
+ | Organization | AI999X |
347
+
348
+ ## Python quick start
349
+
350
+ ```bash
351
+ pip install optimization-ai999x
352
+ # or straight from this repository:
353
+ pip install https://huggingface.co/AI999X/optimization-ai999x/resolve/main/dist/optimization_ai999x-1.6.0-py3-none-any.whl
354
+ ```
355
+
356
+ ```python
357
+ import optimization_ai999x as optimization
358
+
359
+ optimization.ask("Solve the transportation problem with supply [20, 30], demand [10, 25, 15] and cost matrix [[2, 3, 1], [5, 4, 8]].").show()
360
+ # -> SOLVED — min_cost = 150, shipments = [[5.0, 0.0, 15.0], [5.0, 25.0, 0.0]], plan_unique = yes, dual = [-3.0, 0.0, 5.0, 4.0, 4.0] (transportation_problem)
361
+ optimization.ask("Find the shortest path from A to D in the undirected graph with edges A-B 4, A-C 2, B-C 1, B-D 5, C-D 8.").show()
362
+ # -> SOLVED — distance = 8, path = ['A', 'C', 'B', 'D'], path_unique = yes (shortest_path)
363
+ optimization.solve("eoq", D=1200, S=50, H=3).show()
364
+ # -> SOLVED — Q = 200, total_cost = 600, orders_per_period = 6, cycle_time = 0.166667 (eoq)
365
+ optimization.ask("Find the AHP consistency ratio for the pairwise judgments [3, 5, 2].").show()
366
+ # -> SOLVED — CR = 0.003185, CI = 0.0018473, lambda_max = 3.00369, weights = [0.6483290138222366, 0.2296507940626371, 0.12202019211512621] (ahp_consistency_ratio)
367
+ optimization.ask("Find the pure-strategy Nash equilibria of the bimatrix game with row payoffs [[3, 0], [5, 1]] and column payoffs [[3, 5], [0, 1]].").show()
368
+ # -> SOLVED — count = 1, equilibria = [[2.0, 2.0]] (pure_nash_equilibria)
369
+ optimization.ask("Who created you?").message
370
+ # -> optimization-ai999x was created and engineered by Ibnul Jaif Farabi at AI999X.
371
+ ```
372
+
373
+ The Python package also installs a Python command, `optimization-ai999x "<question>"`; for the native program use `optimization` (above). The outputs above were produced by running this exact code on optimization-ai999x 1.6.0.
374
+
375
+ ## How every answer is verified
376
+
377
+ 1. **Reading**: the question is turned into typed quantities (value, unit, kind, role) and one asked quantity; every stated number must be used or the question is refused.
378
+ 2. **Planning**: only certified capabilities may answer; a capability applies only under the conditions the wording states (for example a pendulum, a liquid at rest, boiling).
379
+ 3. **Computing**: exact symbolic or high-precision numeric evaluation.
380
+ 4. **Checking**: dimensions, substitution back into the defining equation, and agreement between independent readings; any disagreement becomes a refusal, never a number.
381
+
382
+ Capabilities are certified before they ship: each must reproduce hand-worked reference cases, reject a deliberately wrong variant (a control), and leave every benchmark answer unchanged.
383
+
384
+ ## Python worked examples, with their steps
385
+
386
+ Each question was put to `optimization-ai999x`; the answer is the one it returned, with the steps it took.
387
+
388
+ **Transportation problem (minimum shipping cost)** · _Network optimisation_
389
+
390
+ > Solve the transportation problem with supply [20, 30], demand [10, 25, 15] and cost matrix [[2, 3, 1], [5, 4, 8]].
391
+
392
+ → **min_cost = 150, shipments = [[5, 0, 15], [5, 25, 0]], plan_unique = yes, dual = [-3, 0, 5, 4, 4]**
393
+
394
+ <details><summary>Steps</summary>
395
+
396
+ - Transportation problem (minimum shipping cost): supply = [20, 30], demand = [10, 25, 15], cost = [2 3 1; 5 4 8] → min_cost = 150, shipments = [[5, 0, 15], [5, 25, 0]], plan_unique = yes, dual = [-3, 0, 5, 4, 4]
397
+
398
+ </details>
399
+
400
+ **Shortest path (Dijkstra's algorithm)** · _Network optimisation_
401
+
402
+ > Find the shortest path from A to D in the undirected graph with edges A-B 4, A-C 2, B-C 1, B-D 5, C-D 8.
403
+
404
+ → **distance = 8, path = [A, C, B, D], path_unique = yes**
405
+
406
+ <details><summary>Steps</summary>
407
+
408
+ - Shortest path (Dijkstra's algorithm): edges = A-B (4), A-C (2), B-C (1), B-D (5), C-D (8), source = A, target = D, directed = False → distance = 8, path = [A, C, B, D], path_unique = yes
409
+
410
+ </details>
411
+
412
+ **Economic order quantity (EOQ)** · _Inventory management_
413
+
414
+ `m.solve("eoq", D=1200, S=50, H=3)`
415
+
416
+ → **Q = 200, total_cost = 600, orders_per_period = 6, cycle_time = 0.1666666667**
417
+
418
+ <details><summary>Steps</summary>
419
+
420
+ - Economic order quantity (EOQ): D = 1200, S = 50, H = 3 → Q = 200, total_cost = 600, orders_per_period = 6, cycle_time = 0.1666666667
421
+
422
+ </details>
423
+
424
+ **AHP consistency ratio** · _Multi-criteria decision analysis_
425
+
426
+ > Find the AHP consistency ratio for the pairwise judgments [3, 5, 2].
427
+
428
+ → **CR = 0.003184998331, CI = 0.001847299032, lambda_max = 3.003694598, weights = [0.6483290138, 0.2296507941, 0.1220201921], acceptable = yes**
429
+
430
+ <details><summary>Steps</summary>
431
+
432
+ - AHP consistency ratio: judgments = [3, 5, 2] → CR = 0.003184998331, CI = 0.001847299032, lambda_max = 3.003694598, weights = [0.6483290138, 0.2296507941, 0.1220201921], acceptable = yes
433
+
434
+ </details>
435
+
436
+ **Pure-strategy Nash equilibria of a bimatrix game** · _Game theory_
437
+
438
+ > Find the pure-strategy Nash equilibria of the bimatrix game with row payoffs [[3, 0], [5, 1]] and column payoffs [[3, 5], [0, 1]].
439
+
440
+ → **count = 1, equilibria = [[2, 2]]**
441
+
442
+ <details><summary>Steps</summary>
443
+
444
+ - Pure-strategy Nash equilibria of a bimatrix game: A = [3 0; 5 1], B = [3 5; 0 1] → count = 1, equilibria = [[2, 2]]
445
+
446
+ </details>
447
+
448
+ **Closed cylinder of least surface area for a given volume** · _Calculus optimisation_
449
+
450
+ > A closed cylindrical can must hold 500 cm^3. Find the dimensions that minimize the surface area.
451
+
452
+ → **radius = 4.301270069, height = 8.602540138, min_area = 348.7342055**
453
+
454
+ <details><summary>Steps</summary>
455
+
456
+ - Closed cylinder of least surface area for a given volume: V = 500 → radius = 4.301270069, height = 8.602540138, min_area = 348.7342055
457
+
458
+ </details>
459
+
460
+ ## Figures
461
+
462
+ Every point was computed by `optimization-ai999x`.
463
+
464
+ **A linear programme: feasible region and optimal corner**
465
+
466
+ ![A linear programme: feasible region and optimal corner, computed by optimization-ai999x](figures/lp-two-variable-graphical-region.svg)
467
+
468
+ _Maximise 3x + 5y subject to x ≤ 4; 2y ≤ 12; 3x + 2y ≤ 18, x, y ≥ 0: the feasible region with the corner points the package returns ((0, 0), (0, 6), (2, 6), (4, 0), (4, 3)) and the objective line through the optimum; marked: x = 2, y = 6, objective 36._
469
+
470
+ **Steepest descent zig-zagging to the minimum**
471
+
472
+ ![Steepest descent zig-zagging to the minimum, computed by optimization-ai999x](figures/steepest-descent-step-iteration.svg)
473
+
474
+ _Steepest descent with exact line search on f(x) = ½ xᵀQx, Q = [[2, 0], [0, 8]], from x₀ = (4, 1): six steps computed by the package, each perpendicular to the level set through its start (f = 20, 7.2, 2.592, 0.93312, 0.335923, 0.120932, 0.0435356); marked: x₆ = (0.186624, 0.046656)._
475
+
476
+ **Shortest path and minimum spanning tree**
477
+
478
+ ![Shortest path and minimum spanning tree, computed by optimization-ai999x](figures/shortest-path-graph.svg)
479
+
480
+ _A weighted network (A-B 4, A-C 2, B-C 1, B-D 5, C-D 8, A-E 7, E-D 3, C-E 6): the shortest path from A to D the package finds, A → C → B → D of length 8, and its minimum spanning tree (B-C, A-C, E-D, B-D, total weight 11)._
481
+
482
+ **An optimal transportation plan**
483
+
484
+ ![An optimal transportation plan, computed by optimization-ai999x](figures/transportation-problem-heatmap.svg)
485
+
486
+ _The optimal transportation plan the package computes for supplies [20, 30], demands [10, 25, 15] and unit costs [[2, 3, 1], [5, 4, 8]] (rows: sources, columns: destinations; left the unit costs, right the quantities shipped): minimum total cost 150._
487
+
488
+ **A two-machine schedule in Johnson's order**
489
+
490
+ ![A two-machine schedule in Johnson's order, computed by optimization-ai999x](figures/johnson-two-machine-gantt.svg)
491
+
492
+ _A two-machine flow shop: processing times [5, 2, 6, 7] on machine 1 and [3, 4, 8, 2] on machine 2. The package's Johnson order is job 2 → job 3 → job 1 → job 4, with makespan 22; each job starts on machine 2 as soon as it leaves machine 1 and machine 2 is free._
493
+
494
+ ## Capabilities
495
+
496
+ 73 certified procedures. A few of them:
497
+
498
+ - **Procedures:** 0/1 knapsack problem; 2 x 2 zero-sum game (saddle point or mixed-strategy formula); AHP consistency ratio; AHP priority vector (principal eigenvector); AHP weights by the geometric mean method; Absolute extrema of a polynomial on a closed interval; All-pairs shortest distances (Floyd-Warshall); Assignment problem (Hungarian method), maximum total value; Assignment problem (Hungarian method), minimum total cost; Bin packing (minimum number of bins); Break-even quantity; Chromatic number (minimum graph colouring); Closed cylinder of least surface area for a given volume; Critical path method (project duration and slack); Critical point of a two-variable quadratic and its classification; Discounted Markov decision process (optimal values and policy); Dynamic lot sizing (Wagner-Whitin); EOQ with planned backorders; Earliest due date rule (minimum maximum lateness); Economic order quantity (EOQ); Economic production quantity (EPQ); Equality-constrained quadratic program (Lagrange multipliers / KKT); Erlang B blocking probability (M/M/c/c loss system); Integer linear program (branch and bound) …
499
+
500
+ `optimization_ai999x.templates()` lists every question form `ask()` reads; the capability guide (PDF, every example executed) is included in this repository.
501
+
502
+ ### All 73 formulas
503
+
504
+ <details><summary>Show every formula, by topic</summary>
505
+
506
+ **Calculus optimisation / geometry**
507
+
508
+ *Closed cylinder of least surface area for a given volume*
509
+
510
+ $$
511
+ r^* = \left(\frac{V}{2\pi}\right)^{1/3}, \quad h^* = 2r^*
512
+ $$
513
+
514
+ *Largest rectangle for a given length of fencing*
515
+
516
+ $$
517
+ A_{\max} = \frac{L^2}{16} \text{ (4 sides)}, \quad \frac{L^2}{8} \text{ (3 sides)}
518
+ $$
519
+
520
+ *Open box of maximum volume from a rectangular sheet*
521
+
522
+ $$
523
+ x^* = \frac{(L+W) - \sqrt{L^2 - LW + W^2}}{6}
524
+ $$
525
+
526
+ **Calculus optimisation / one variable**
527
+
528
+ *Absolute extrema of a polynomial on a closed interval*
529
+
530
+ $$
531
+ \min_{[a,b]} f = \min\{f(a), f(b), f(c) : f'(c) = 0,\ a < c < b\}
532
+ $$
533
+
534
+ **Calculus optimisation / several variables**
535
+
536
+ *Critical point of a two-variable quadratic and its classification*
537
+
538
+ $$
539
+ D = f_{xx} f_{yy} - f_{xy}^2 = 4ac - b^2
540
+ $$
541
+
542
+ **Cost-volume-profit analysis**
543
+
544
+ *Break-even quantity*
545
+
546
+ $$
547
+ Q_{BE} = \frac{F}{p - v}
548
+ $$
549
+
550
+ **Dynamic programming / Markov decision processes**
551
+
552
+ *Discounted Markov decision process (optimal values and policy)*
553
+
554
+ $$
555
+ V^*(s) = \max_a \Big( R(s,a) + \gamma \sum_{s'} P(s' \mid s,a)\, V^*(s') \Big)
556
+ $$
557
+
558
+ **Dynamic programming / inventory**
559
+
560
+ *Dynamic lot sizing (Wagner-Whitin)*
561
+
562
+ $$
563
+ C_t = \min_{1 \le s \le t} \Big( C_{s-1} + K + h \sum_{u=s}^{t} (u - s)\, d_u \Big)
564
+ $$
565
+
566
+ **Economic optimisation / monopoly pricing**
567
+
568
+ *Profit-maximising output with linear demand*
569
+
570
+ $$
571
+ q^* = \frac{a - c}{2b}, \quad p^* = \frac{a + c}{2}
572
+ $$
573
+
574
+ **Economic optimisation / pricing**
575
+
576
+ *Revenue-maximising price with linear demand*
577
+
578
+ $$
579
+ p^* = \frac{\alpha}{2\beta}, \quad R^* = \frac{\alpha^2}{4\beta}
580
+ $$
581
+
582
+ **Game theory / non-zero-sum games**
583
+
584
+ *Mixed-strategy Nash equilibrium of a 2 x 2 game*
585
+
586
+ $$
587
+ q = \frac{a_{22} - a_{12}}{a_{11} - a_{12} - a_{21} + a_{22}},\quad p = \frac{b_{22} - b_{21}}{b_{11} - b_{12} - b_{21} + b_{22}}
588
+ $$
589
+
590
+ *Pure-strategy Nash equilibria of a bimatrix game*
591
+
592
+ $$
593
+ a_{rs} = \max_k a_{ks},\quad b_{rs} = \max_k b_{rk}
594
+ $$
595
+
596
+ **Game theory / zero-sum games**
597
+
598
+ *2 x 2 zero-sum game (saddle point or mixed-strategy formula)*
599
+
600
+ $$
601
+ v = \frac{ad - bc}{a + d - b - c},\quad p = \frac{d - c}{a + d - b - c},\quad q = \frac{d - b}{a + d - b - c}
602
+ $$
603
+
604
+ *Two-person zero-sum game (value and optimal mixed strategies)*
605
+
606
+ $$
607
+ v = \max_{x \in \Delta_m} \min_{j} \sum_i x_i a_{ij} = \min_{y \in \Delta_n} \max_i \sum_j a_{ij} y_j
608
+ $$
609
+
610
+ **Integer programming**
611
+
612
+ *Integer linear program (branch and bound)*
613
+
614
+ $$
615
+ \max / \min \; c^\top x \quad \text{s.t. } A x \;(\le,\ge,=)\; b,\; x \in \mathbb{Z}_{\ge 0}^n
616
+ $$
617
+
618
+ **Integer programming / covering**
619
+
620
+ *Minimum vertex cover (and maximum independent set)*
621
+
622
+ $$
623
+ \tau(G) = \min\{\vert C\vert : C \cap \{u, v\} \neq \emptyset\ \forall uv \in E\},\quad \alpha(G) = \vert V\vert - \tau(G)
624
+ $$
625
+
626
+ *Minimum-cost set cover*
627
+
628
+ $$
629
+ \min \sum_i c_i x_i\ \text{s.t.}\ \sum_{i \ni e} x_i \ge 1\ \forall e,\ x \in \{0,1\}
630
+ $$
631
+
632
+ **Integer programming / graph colouring**
633
+
634
+ *Chromatic number (minimum graph colouring)*
635
+
636
+ $$
637
+ \chi(G) = \min\{k : \exists\, c: V \to \{1..k\},\ c(u) \neq c(v)\ \forall uv \in E\}
638
+ $$
639
+
640
+ **Integer programming / knapsack**
641
+
642
+ *0/1 knapsack problem*
643
+
644
+ $$
645
+ \max \sum_i v_i x_i \ \text{s.t.}\ \sum_i w_i x_i \le W,\ x_i \in \{0,1\}
646
+ $$
647
+
648
+ *Unbounded knapsack problem*
649
+
650
+ $$
651
+ V(c) = \max\big(V(c-1),\ \max_{i: w_i \le c} V(c - w_i) + v_i\big)
652
+ $$
653
+
654
+ **Integer programming / location**
655
+
656
+ *Uncapacitated facility location*
657
+
658
+ $$
659
+ \min_{S \neq \emptyset} \sum_{i \in S} f_i + \sum_j \min_{i \in S} c_{ij}
660
+ $$
661
+
662
+ **Integer programming / packing**
663
+
664
+ *Bin packing (minimum number of bins)*
665
+
666
+ $$
667
+ \min \#\text{bins} \ \ge\ \left\lceil \sum_j s_j / C \right\rceil
668
+ $$
669
+
670
+ **Inventory management**
671
+
672
+ *EOQ with planned backorders*
673
+
674
+ $$
675
+ Q^* = \sqrt{\frac{2DS}{H}\cdot\frac{H+B}{B}}, \quad s^* = Q^* \frac{H}{H+B}
676
+ $$
677
+
678
+ *Economic order quantity (EOQ)*
679
+
680
+ $$
681
+ Q^* = \sqrt{\frac{2 D S}{H}}, \quad TC^* = \sqrt{2 D S H}
682
+ $$
683
+
684
+ *Economic production quantity (EPQ)*
685
+
686
+ $$
687
+ Q^* = \sqrt{\frac{2DS}{H(1 - D/P)}}
688
+ $$
689
+
690
+ *Order quantity with quantity discounts (all-units)*
691
+
692
+ $$
693
+ TC(Q) = D p_k + \frac{D S}{Q} + \frac{i p_k Q}{2}
694
+ $$
695
+
696
+ *Periodic-review order-up-to level*
697
+
698
+ $$
699
+ S = \bar d (R + L) + z_{SL}\,\sigma_d\sqrt{R + L}
700
+ $$
701
+
702
+ *Reorder point with safety stock*
703
+
704
+ $$
705
+ ROP = \bar d L + z_{SL}\,\sigma_d \sqrt{L}
706
+ $$
707
+
708
+ **Inventory management / single-period**
709
+
710
+ *Newsvendor order quantity (discrete demand)*
711
+
712
+ $$
713
+ Q^* = \min\{ d : F(d) \ge \tfrac{p - c}{p - s} \}
714
+ $$
715
+
716
+ *Newsvendor order quantity (normal demand)*
717
+
718
+ $$
719
+ F(Q^*) = \frac{p - c}{p - s}, \quad Q^* = \mu + z\,\sigma
720
+ $$
721
+
722
+ *Newsvendor order quantity (uniform demand)*
723
+
724
+ $$
725
+ Q^* = a + \frac{p - c}{p - s}(b - a)
726
+ $$
727
+
728
+ **Linear programming**
729
+
730
+ *Linear program (simplex method)*
731
+
732
+ $$
733
+ \max / \min \; c^\top x \quad \text{s.t. } A x \;(\le, \ge, =)\; b,\; x \ge 0
734
+ $$
735
+
736
+ *Two-variable linear program (graphical corner-point method)*
737
+
738
+ $$
739
+ z^* = \max_{v \in \text{corners}} c^\top v
740
+ $$
741
+
742
+ **Linear programming / sensitivity analysis**
743
+
744
+ *LP duality and sensitivity ranges*
745
+
746
+ $$
747
+ \max c^\top x\ \text{s.t.}\ A x \le b,\ x \ge 0 \;\Longleftrightarrow\; \min b^\top y\ \text{s.t.}\ A^\top y \ge c,\ y \ge 0;\quad x_B + \delta\,B^{-1}e_i \ge 0,\quad d_k - \Delta\,(B^{-1}A_k)_r \ge 0
748
+ $$
749
+
750
+ *Shadow prices of a linear program*
751
+
752
+ $$
753
+ y^\top = c_B^\top B^{-1}, \qquad \frac{\partial z^*}{\partial b_i} = y_i
754
+ $$
755
+
756
+ **Multi-criteria decision analysis**
757
+
758
+ *TOPSIS ranking (closeness to the ideal solution)*
759
+
760
+ $$
761
+ C_i = \frac{D_i^-}{D_i^+ + D_i^-},\quad D_i^\pm = \Big\\vert w \odot r_i - v^\pm \Big\\vert _2
762
+ $$
763
+
764
+ *Weighted product model*
765
+
766
+ $$
767
+ P_i = \prod_j n_{ij}^{\,w_j}
768
+ $$
769
+
770
+ *Weighted sum model (simple additive weighting)*
771
+
772
+ $$
773
+ S_i = \sum_j w_j n_{ij},\quad n_{ij} = \frac{x_{ij}}{\max_i x_{ij}}\ \text{or}\ \frac{\min_i x_{ij}}{x_{ij}}
774
+ $$
775
+
776
+ **Multi-criteria decision analysis / AHP**
777
+
778
+ *AHP consistency ratio*
779
+
780
+ $$
781
+ CI = \frac{\lambda_{\max} - n}{n - 1},\quad CR = \frac{CI}{RI_n}
782
+ $$
783
+
784
+ *AHP priority vector (principal eigenvector)*
785
+
786
+ $$
787
+ P w = \lambda_{\max} w,\quad \sum_i w_i = 1
788
+ $$
789
+
790
+ *AHP weights by the geometric mean method*
791
+
792
+ $$
793
+ w_i = \frac{(\prod_j a_{ij})^{1/n}}{\sum_k (\prod_j a_{kj})^{1/n}}
794
+ $$
795
+
796
+ **Network optimisation / assignment**
797
+
798
+ *Assignment problem (Hungarian method), maximum total value*
799
+
800
+ $$
801
+ \min_{\sigma} \sum_i c_{i\sigma(i)} = \max \Big\{ \sum_i u_i + \sum_j v_j : u_i + v_j \le c_{ij} \Big\}
802
+ $$
803
+
804
+ *Assignment problem (Hungarian method), minimum total cost*
805
+
806
+ $$
807
+ \min_{\sigma} \sum_i c_{i\sigma(i)} = \max \Big\{ \sum_i u_i + \sum_j v_j : u_i + v_j \le c_{ij} \Big\}
808
+ $$
809
+
810
+ **Network optimisation / flows**
811
+
812
+ *Maximum flow and minimum cut (Edmonds-Karp)*
813
+
814
+ $$
815
+ \max \vert f\vert = \min_{(S, \bar S)} c(S, \bar S)
816
+ $$
817
+
818
+ *Minimum-cost flow (transshipment)*
819
+
820
+ $$
821
+ \min \sum c_{ij} x_{ij}\ \text{s.t.}\ \sum_j x_{vj} - \sum_i x_{iv} = b_v,\ 0 \le x_{ij} \le u_{ij}
822
+ $$
823
+
824
+ **Network optimisation / matching**
825
+
826
+ *Maximum bipartite matching*
827
+
828
+ $$
829
+ \nu(G) = \tau(G) \text{ for bipartite } G
830
+ $$
831
+
832
+ *Maximum-weight matching (general graph)*
833
+
834
+ $$
835
+ \max_{M \text{ matching}} \sum_{e \in M} w_e
836
+ $$
837
+
838
+ **Network optimisation / routing**
839
+
840
+ *Travelling salesman tour (exact, Held-Karp)*
841
+
842
+ $$
843
+ g(S, k) = \min_{m \in S \setminus \{k\}} \big(g(S \setminus \{k\}, m) + d_{mk}\big)
844
+ $$
845
+
846
+ **Network optimisation / shortest routes**
847
+
848
+ *All-pairs shortest distances (Floyd-Warshall)*
849
+
850
+ $$
851
+ d_{ij} \leftarrow \min(d_{ij},\, d_{ik} + d_{kj})
852
+ $$
853
+
854
+ *Shortest path (Dijkstra's algorithm)*
855
+
856
+ $$
857
+ d(v) = \min_{(u,v)} \big(d(u) + w_{uv}\big)
858
+ $$
859
+
860
+ *Shortest path with negative weights (Bellman-Ford)*
861
+
862
+ $$
863
+ d(v) \le d(u) + w_{uv} \ \forall (u,v)
864
+ $$
865
+
866
+ **Network optimisation / spanning trees**
867
+
868
+ *Minimum spanning tree (Kruskal's algorithm)*
869
+
870
+ $$
871
+ \min_{T \text{ spanning tree}} \sum_{e \in T} w_e
872
+ $$
873
+
874
+ **Network optimisation / transportation**
875
+
876
+ *Transportation problem (minimum shipping cost)*
877
+
878
+ $$
879
+ \min \sum_{ij} c_{ij} x_{ij}\ \text{s.t.}\ \sum_j x_{ij} \le s_i,\ \sum_i x_{ij} = d_j,\ x \ge 0
880
+ $$
881
+
882
+ **Nonlinear optimisation / descent methods**
883
+
884
+ *Steepest descent step with exact line search (quadratic)*
885
+
886
+ $$
887
+ \alpha = \frac{g^\top g}{g^\top Q g},\quad x_1 = x_0 - \alpha g
888
+ $$
889
+
890
+ **Nonlinear optimisation / quadratic**
891
+
892
+ *Equality-constrained quadratic program (Lagrange multipliers / KKT)*
893
+
894
+ $$
895
+ \begin{bmatrix} Q & A^\top \\ A & 0 \end{bmatrix}\begin{bmatrix} x \\ \lambda \end{bmatrix} = \begin{bmatrix} -c \\ b \end{bmatrix}
896
+ $$
897
+
898
+ *Unconstrained quadratic minimisation*
899
+
900
+ $$
901
+ x^* = -Q^{-1} c,\quad f^* = \tfrac12 c^\top x^*
902
+ $$
903
+
904
+ **Project scheduling**
905
+
906
+ *Critical path method (project duration and slack)*
907
+
908
+ $$
909
+ ES_k = \max_{j \to k}(ES_j + d_j),\quad LS_k = \min_{k \to s} LS_s - d_k,\quad \text{slack}_k = LS_k - ES_k
910
+ $$
911
+
912
+ *PERT project duration and completion probability*
913
+
914
+ $$
915
+ t_e = \frac{a + 4m + b}{6},\; \sigma^2 = \left(\frac{b - a}{6}\right)^2,\; P(T \le d) = \Phi\!\left(\frac{d - \mu}{\sigma}\right)
916
+ $$
917
+
918
+ **Queueing theory**
919
+
920
+ *M/G/1 queue (Pollaczek-Khinchine formula)*
921
+
922
+ $$
923
+ L_q = \frac{\lambda^2 \sigma_S^2 + \rho^2}{2(1-\rho)}
924
+ $$
925
+
926
+ *M/M/1 queue*
927
+
928
+ $$
929
+ L = \frac{\rho}{1-\rho},\; W = \frac{1}{\mu - \lambda},\; W_q = \frac{\rho}{\mu-\lambda}
930
+ $$
931
+
932
+ *M/M/c queue (Erlang C)*
933
+
934
+ $$
935
+ C(c, a) = \frac{B(c,a)}{1 - \rho(1 - B(c,a))}, \quad L_q = C\,\frac{\rho}{1-\rho}
936
+ $$
937
+
938
+ *M/M/c/K queue (finite capacity)*
939
+
940
+ $$
941
+ \pi_n \propto \frac{a^n}{n!}\ (n \le c),\quad \frac{a^c}{c!}\left(\frac{a}{c}\right)^{n-c}\ (c < n \le K)
942
+ $$
943
+
944
+ *Machine-repair (finite-source) queue*
945
+
946
+ $$
947
+ \pi_n \propto \frac{N!}{(N-n)!}\,\frac{(\lambda/\mu)^n}{n!\ \text{or}\ c!\,c^{n-c}}
948
+ $$
949
+
950
+ **Queueing theory / staffing**
951
+
952
+ *Minimum number of servers for a service target (Erlang C)*
953
+
954
+ $$
955
+ c^* = \min\{c > \lambda/\mu : C(c, \lambda/\mu) \le \alpha\}
956
+ $$
957
+
958
+ **Queueing theory / teletraffic**
959
+
960
+ *Erlang B blocking probability (M/M/c/c loss system)*
961
+
962
+ $$
963
+ B(c, A) = \frac{A^c / c!}{\sum_{k=0}^{c} A^k / k!}
964
+ $$
965
+
966
+ **Revenue management**
967
+
968
+ *Littlewood's rule (two-fare protection level)*
969
+
970
+ $$
971
+ P(D_1 > y^*) = \frac{p_2}{p_1}, \quad y^* = \mu + z\,\sigma
972
+ $$
973
+
974
+ **Scheduling / flow shop**
975
+
976
+ *Johnson's rule (two-machine flow shop)*
977
+
978
+ $$
979
+ \min C_{\max} \text{ for } F2 \\vert C_{\max}
980
+ $$
981
+
982
+ **Scheduling / parallel machines**
983
+
984
+ *Minimum makespan on identical parallel machines*
985
+
986
+ $$
987
+ \min_{\text{assignment}} \max_k \sum_{j \to k} p_j
988
+ $$
989
+
990
+ **Scheduling / single machine**
991
+
992
+ *Earliest due date rule (minimum maximum lateness)*
993
+
994
+ $$
995
+ \min L_{\max} = \min \max_j (C_j - d_j):\; d_{[1]} \le d_{[2]} \le \dots
996
+ $$
997
+
998
+ *Moore-Hodgson algorithm (minimum number of tardy jobs)*
999
+
1000
+ $$
1001
+ \min \sum_j U_j
1002
+ $$
1003
+
1004
+ *Shortest processing time rule (minimum mean flow time)*
1005
+
1006
+ $$
1007
+ \min \tfrac{1}{n}\sum_j C_j:\; p_{[1]} \le p_{[2]} \le \dots
1008
+ $$
1009
+
1010
+ *Weighted shortest processing time (Smith's rule)*
1011
+
1012
+ $$
1013
+ \min \sum_j w_j C_j:\; \frac{p_{[1]}}{w_{[1]}} \le \frac{p_{[2]}}{w_{[2]}} \le \dots
1014
+ $$
1015
+
1016
+ **Unconstrained optimisation / one variable**
1017
+
1018
+ *Optimum of a quadratic function*
1019
+
1020
+ $$
1021
+ x^* = -\frac{b}{2a}, \quad f^* = c - \frac{b^2}{4a}
1022
+ $$
1023
+
1024
+ </details>
1025
+
1026
+ ## Out of scope
1027
+
1028
+ - Open-ended explanation, essay writing or tutoring dialogue: it is a solver, not a chatbot.
1029
+ - Questions outside its certified optimization capabilities, and any question whose stated numbers it cannot all use: it refuses with the reason instead.
1030
+ - High-stakes engineering, medical or legal decisions without independent review.
1031
+
1032
+ ## Limitations
1033
+
1034
+ - It answers what its certified capabilities cover (linear and integer programming, convex and nonlinear optimisation, assignment, transportation and shortest-route problems, scheduling, inventory, queueing, game theory and multi-criteria decisions); anything else is refused with a reason.
1035
+ - `ask()` reads documented question forms and common phrasings; unusual wording may be refused; use `solve()` for guaranteed results.
1036
+ - Results are as correct as the certified relations and their stated conditions; a certified relation is a checked model, not a claim about every physical situation.
1037
+
1038
+ ## Citation
1039
+
1040
+ ```bibtex
1041
+ @software{optimization_ai999x_1_6_0,
1042
+ title = {optimization-ai999x: an offline, verified optimization solver},
1043
+ author = {Farabi, Ibnul Jaif}, organization = {AI999X},
1044
+ year = {2026}, version = {1.6.0},
1045
+ url = {https://huggingface.co/AI999X/optimization-ai999x}
1046
+ }
1047
+ ```
1048
+
1049
+ ## Contact
1050
+
1051
+ Questions, bug reports and requests: open a discussion on https://huggingface.co/AI999X/optimization-ai999x/discussions or visit https://ai999x.com.
1052
+
1053
+ ## Support the project
1054
+
1055
+ optimization-ai999x is free and open source. If it helps you, you can support further development on [Buy Me a Coffee](https://buymeacoffee.com/ibnuljaiffarabi).
1056
+
1057
+ Created and engineered by **Ibnul Jaif Farabi** · **[AI999X](https://huggingface.co/AI999X)** · [ai999x.com](https://ai999x.com)
config.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "library_name": "optimization-ai999x",
3
+ "import_name": "optimization_ai999x",
4
+ "version": "1.6.0",
5
+ "knowledge_pack": "1.0.1",
6
+ "capabilities": 73,
7
+ "license": "apache-2.0",
8
+ "install": "pip install optimization-ai999x",
9
+ "author": "Ibnul Jaif Farabi",
10
+ "organization": "AI999X"
11
+ }
dist/optimization_ai999x-1.6.0-py3-none-any.whl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6dd20697f73ee4321ba6ca71f1e0e8298d1979c62b5ff666bd446a072c8275d4
3
+ size 3968813
docs/optimization_ai999x_capabilities.html ADDED
The diff for this file is too large to render. See raw diff
 
docs/optimization_ai999x_capabilities.md ADDED
The diff for this file is too large to render. See raw diff
 
docs/optimization_ai999x_capabilities.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e45943f95f10bf921c3f363bba42b562b87afc5365cac0150e3dde93cec4b5d3
3
+ size 2827479
docs/optimization_ai999x_rust_guide.html ADDED
The diff for this file is too large to render. See raw diff
 
docs/optimization_ai999x_rust_guide.md ADDED
The diff for this file is too large to render. See raw diff
 
docs/optimization_ai999x_rust_guide.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:13eadc3e8b89b78b71d29a526cf03d19b4278ba77b1054b9d6ac6d5fd5d860a8
3
+ size 1942944
evaluation/KNOWLEDGE_CARD.md ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Dataset card: optimization
2
+
3
+ Generated 2026-11-13 by `tools/cards.py` from the domain's measured state (pack 1.0.1). Nothing here is hand-edited.
4
+
5
+ **Creator / engineer:** Ibnul Jaif Farabi · **Company:** AI999X.
6
+
7
+ ## What the knowledge base holds
8
+
9
+ 6207 records, of which 6135 are **machine-checked** (recomputed or checked step by step by the factory). Every other record is **structurally valid only**: well formed and consistent, but its meaning is not verified, and it is labelled so in the store.
10
+
11
+ | kind | tier | records |
12
+ |---|---|---|
13
+ | exercise | machine_checked | 6063 |
14
+ | explanation | structurally_valid | 72 |
15
+ | procedure | machine_checked | 72 |
16
+
17
+ ## How it was produced
18
+
19
+ Candidate content was written by a teacher model and judged by the factory's own checks (no teacher output is trusted by itself). Campaigns:
20
+
21
+ | campaign | teacher | status | requests sent | accepted | machine-checked | spend (USD) |
22
+ |---|---|---|---|---|---|---|
23
+
24
+ ## Reference sources
25
+
26
+ - none
27
+
28
+ ## Decision-model datasets
29
+
30
+ - none
31
+
32
+ ## Limits
33
+
34
+ - Machine-checked means checked by computation against the factory's certified relations, procedures and identities; it does not mean verified by experiment or by an expert.
35
+ - Structurally valid records (concepts, theories, explanations, many misconceptions) are not verified in meaning.
36
+ - The teacher model's wording is original to it; the source screen catches verbatim copying, not paraphrase.
evaluation/release_gate.md ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # optimization-ai999x 1.6.0 — release gate
2
+
3
+ Pack 1.0.1. **RELEASABLE** (generated by `tools/release_gate.py`). Not published: publication needs the owner's approval.
4
+
5
+ | criterion | passed | evidence |
6
+ |---|---|---|
7
+ | contracts | yes | {"contracts": 73, "invalid": {}} |
8
+ | wheel_is_this_version | yes | {"version": "1.6.0", "latest_wheel": "optimization_ai999x-1.6.0-py3-none-any.whl"} |
9
+ | acceptance | yes | {"tested": "optimization_ai999x-1.6.0-py3-none-any.whl", "latest_wheel": "optimization_ai999x-1.6.0-py3-none-any.whl", "tally": {"structured": {"run": 108, "passed": 108}, "missing": {"run": 278, "passed": 278}, "wrong_unit": {"run": 95, "passed": 95}, "unknown_input": {"run": 108, "passed": 108}, " |
10
+ | guide | yes | {"examples_run": 248, "printed": 248, "withheld": 0} |
11
+ | clean_install | yes | {"wheel": "optimization_ai999x-1.6.0-py3-none-any.whl", "wheel_kb": 3968.8, "installed_package_mb": 18.8, "cold_import_s": 0.043, "first_ask_s": 0.024, "warm_median_ms": 0.5, "peak_rss_mb": 29.0, "python": "3.14.4", "platform": "linux", "failed_checks": []} |
12
+ | procedures | yes | {"defined": ["ahp_consistency_ratio", "ahp_geometric_mean", "ahp_priority_vector", "all_pairs_shortest_paths", "assignment_max_profit", "assignment_min_cost", "bellman_ford_shortest_path", "bin_packing", "bipartite_matching", "break_even_point", "can_min_surface", "critical_path_method", "critical_p |
13
+ | must_refuse | n/a | {"questions": 0, "answered": []} |
14
+ | regression | yes | {"files": {"probes.json": {"correct": 4, "refused_no_answer_is_determined": 1, "refused_capability_gap": 0, "refused_unjustified": 0, "incorrect": 0, "crash": 0, "correct_rate": 0.8, "refusal_rate": 0.2}}} |
15
+ | no_network | yes | {"files_scanned": 36, "hits": []} |
16
+ | no_source_material | yes | {"wheel": "optimization_ai999x-1.6.0-py3-none-any.whl", "leaks": []} |
17
+ | reader_optional | n/a | {} |
18
+
19
+ Release standard (what the vault's `releases/` accepts): **PUBLISHABLE**
20
+
21
+ | criterion | passed | evidence |
22
+ |---|---|---|
23
+ | platforms | yes | {"identical_on": ["Linux", "Windows"], "reports": 2, "note": "macOS is expected (pure-Python core) but not tested"} |
24
+ | dataset_card | yes | {"card": "release/DATASET_CARD.md"} |
25
+ | pack_snapshot | yes | {"version": "1.0.1"} |
26
+ | licence | yes | {} |
27
+ | version | yes | {"version": "1.6.0"} |
figures/johnson-two-machine-gantt.svg ADDED
figures/lp-two-variable-graphical-region.svg ADDED
figures/shortest-path-graph.svg ADDED
figures/steepest-descent-step-iteration.svg ADDED
figures/transportation-problem-heatmap.svg ADDED