Skip to content

Commit e06b9fd

Browse files
committed
Updates release note
1 parent ce511d2 commit e06b9fd

File tree

4 files changed

+136
-0
lines changed

4 files changed

+136
-0
lines changed

docs/_toc.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,4 @@ parts:
2626
- file: releases/jijmodeling-1.9.0
2727
- file: releases/jijmodeling-1.10.0
2828
- file: releases/jijmodeling-1.10.1
29+
- file: releases/jijmodeling-1.11.0
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {},
6+
"source": [
7+
"# JijModeling 1.11.0 Release Notes\n",
8+
"\n",
9+
"## Bugifx: `Interpreter` is now more liberal on duplicated constraint name\n",
10+
"\n",
11+
"Since JijModeling v1.10.0, `Interpreter` cannot have more than one constraints with the same name, which is not the case with <= 1.9.\n",
12+
"Now, `Interpreter` is more liberal on duplicated constraint names:\n",
13+
"\n",
14+
"- It now treats constraints seprately for each problem, so constraints from distinct problems won't cause any name collision.\n",
15+
"- If the newly evaluated constraint has the same name as the previously evaluated constraints, it won't cause error if either:\n",
16+
" 1. it has the same definition on the already-defined `forall` parameters, or\n",
17+
" 2. the `forall` parameter is previously undefined.\n",
18+
"\n",
19+
"This change allows more intuitive treatment of problem relaxation or partition.\n",
20+
"\n",
21+
"## Improvements in Hint Detection\n",
22+
"\n",
23+
"- You can now `hints` optional argument to `eval_problem`, which specifies the list of constraint types to be detected. This should be useful when you use specific solvers that supports only a subset of constraint types are supported.\n",
24+
" + `hints = None` (default): Detects the default set of constraint types (currently, `OneHot` only).\n",
25+
" + `hints = []`: Disables hint detection entirely.\n",
26+
"- Now hint detection mechanism can take into account some algebraic congruence (though not complete).\n",
27+
" + For example, it can now detects the following as the one-hot constraint:\n",
28+
" $$\n",
29+
" 0 = 1 - \\sum_i (2 - 1) x_i\\\\\n",
30+
" \\sum_i 2 x_i + 1 = 3\n",
31+
" $$\n",
32+
"- Now `jm.eval_problem()` can derive additional constraints for duplicated variables. For example, if you have $\\sum_{i < 3} x_i = 1$ with $x_1 = x_2$, then it outputs new constraint $x_1 = 0$.\n",
33+
"- `jm.eval_problem()` can now raise an exception when infeasible constraint is detected, e.g. $\\sum_{i < 0} x_i = 1$.\n",
34+
"\n",
35+
"## Other Improvements\n",
36+
"\n",
37+
"- Now stub file has more functions with type hints!"
38+
]
39+
},
40+
{
41+
"cell_type": "markdown",
42+
"metadata": {},
43+
"source": []
44+
}
45+
],
46+
"metadata": {
47+
"kernelspec": {
48+
"display_name": ".venv",
49+
"language": "python",
50+
"name": "python3"
51+
},
52+
"language_info": {
53+
"codemirror_mode": {
54+
"name": "ipython",
55+
"version": 3
56+
},
57+
"file_extension": ".py",
58+
"mimetype": "text/x-python",
59+
"name": "python",
60+
"nbconvert_exporter": "python",
61+
"pygments_lexer": "ipython3",
62+
"version": "3.10.12"
63+
}
64+
},
65+
"nbformat": 4,
66+
"nbformat_minor": 2
67+
}

en/_toc.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ parts:
2020
- file: releases/jijmodeling-1.9.0
2121
- file: releases/jijmodeling-1.10.0
2222
- file: releases/jijmodeling-1.10.1
23+
- file: releases/jijmodeling-1.11.0

en/releases/jijmodeling-1.11.0.ipynb

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {},
6+
"source": [
7+
"# JijModeling 1.11.0 Release Notes\n",
8+
"\n",
9+
"## Bugifx: `Interpreter` is now more liberal on duplicated constraint name\n",
10+
"\n",
11+
"Since JijModeling v1.10.0, `Interpreter` cannot have more than one constraints with the same name, which is not the case with <= 1.9.\n",
12+
"Now, `Interpreter` is more liberal on duplicated constraint names:\n",
13+
"\n",
14+
"- It now treats constraints seprately for each problem, so constraints from distinct problems won't cause any name collision.\n",
15+
"- If the newly evaluated constraint has the same name as the previously evaluated constraints, it won't cause error if either:\n",
16+
" 1. it has the same definition on the already-defined `forall` parameters, or\n",
17+
" 2. the `forall` parameter is previously undefined.\n",
18+
"\n",
19+
"This change allows more intuitive treatment of problem relaxation or partition.\n",
20+
"\n",
21+
"## Improvements in Hint Detection\n",
22+
"\n",
23+
"- You can now `hints` optional argument to `eval_problem`, which specifies the list of constraint types to be detected. This should be useful when you use specific solvers that supports only a subset of constraint types are supported.\n",
24+
" + `hints = None` (default): Detects the default set of constraint types (currently, `OneHot` only).\n",
25+
" + `hints = []`: Disables hint detection entirely.\n",
26+
"- Now hint detection mechanism can take into account some algebraic congruence (though not complete).\n",
27+
" + For example, it can now detects the following as the one-hot constraint:\n",
28+
" $$\n",
29+
" 0 = 1 - \\sum_i (2 - 1) x_i\\\\\n",
30+
" \\sum_i 2 x_i + 1 = 3\n",
31+
" $$\n",
32+
"- Now `jm.eval_problem()` can derive additional constraints for duplicated variables. For example, if you have $\\sum_{i < 3} x_i = 1$ with $x_1 = x_2$, then it outputs new constraint $x_1 = 0$.\n",
33+
"- `jm.eval_problem()` can now raise an exception when infeasible constraint is detected, e.g. $\\sum_{i < 0} x_i = 1$.\n",
34+
"\n",
35+
"## Other Improvements\n",
36+
"\n",
37+
"- Now stub file has more functions with type hints!"
38+
]
39+
},
40+
{
41+
"cell_type": "markdown",
42+
"metadata": {},
43+
"source": []
44+
}
45+
],
46+
"metadata": {
47+
"kernelspec": {
48+
"display_name": ".venv",
49+
"language": "python",
50+
"name": "python3"
51+
},
52+
"language_info": {
53+
"codemirror_mode": {
54+
"name": "ipython",
55+
"version": 3
56+
},
57+
"file_extension": ".py",
58+
"mimetype": "text/x-python",
59+
"name": "python",
60+
"nbconvert_exporter": "python",
61+
"pygments_lexer": "ipython3",
62+
"version": "3.10.12"
63+
}
64+
},
65+
"nbformat": 4,
66+
"nbformat_minor": 2
67+
}

0 commit comments

Comments
 (0)