každá úloha za 10 bodov
Uľahčenie
Malo by obsahovať
den = 13
(den % 7) in [0, 6]
True
den = 13
"vikend" if (den % 7) in [0, 6] else "pracovny den"
'vikend'
den = int(input("Zadaj den:"))
print("vikend" if (den % 7) in [0, 6] else "pracovny den")
Zadaj den:11 pracovny den
# rok 2025
den = int(input("Zadaj den:"))
print("vikend" if (den % 7) in [4, 5] else "pracovny den")
Zadaj den:4 vikend
#den, mesiac ...
priamočiaro ... kedy bude zelená na ďalšom semafore
Sada 4 ... Dijkstra na hľadanie najkratších ciest z križovatky 1
Sada 5 ... doplnenie o počítanie čakania na semafore
Sada 1 ... simulácia po sekundách
sada 4 + v každom vrchole vždy čakáme ...
praktická
d = [-30, 10, 25, -5, 10, -30]
n = len(d)
k = 3
for i in range(n-k+1):
print(i, sum(d[i:i+k]))
0 5 1 30 2 30 3 -25
Čas $O(n \cdot k)$
Aktualizovať vieme aj v konštantom čase (-prvý a +ďalší)
d = [-30, 10, 25, -5, 10, -30]
n = len(d)
k = 3
suma = sum(d[:k])
for i in range(n-k):
print(i, suma)
suma += d[i+k]-d[i]
print(n-k, suma)
0 5 1 30 2 30 3 -25
Čas $O(n+k)$
d = [-30, 10, 25, -5, 10, -30]
n = len(d)
k = 3
for i in range(n-k+1):
print(i, max(d[i:i+k]))
0 25 1 25 2 25 3 10
zoradíme - pamätáme usporiadané
halda
$x_1$ balení po 6ks za 2 €
$x_2$ balení po 9ks za 2,90 €
$x_3$ balení po 20ks za 6,10 €
Nugetiek: $6 \cdot x_1+9 \cdot x_2+20 \cdot x_3 = 6x_1+9x_2+20x_3$ ks
Cena: $2x_1+2,9x_2+6,10x_3$ €, resp. $200x_1+290x_2+610x_3$ eurocentov
Máme 32 €, t.j. $20x_1+29x_2+61 x_3 \leq 320$
Chceme čo najviac kusov, teda $6x_1+9x_2+20x_3 \rightarrow \max$
import pulp
print( pulp.listSolvers() ) # tieto solvery vie tvoja verzia PuLPu použiť
print( pulp.listSolvers(onlyAvailable = True) ) # tieto má naozaj dostupné
--------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) Cell In[2], line 1 ----> 1 import pulp 2 print( pulp.listSolvers() ) # tieto solvery vie tvoja verzia PuLPu použiť 3 print( pulp.listSolvers(onlyAvailable = True) ) ModuleNotFoundError: No module named 'pulp'
!pip install pulp
Defaulting to user installation because normal site-packages is not writeable Collecting pulp Obtaining dependency information for pulp from https://files.pythonhosted.org/packages/99/6c/64cafaceea3f99927e84b38a362ec6a8f24f33061c90bda77dfe1cd4c3c6/pulp-3.3.0-py3-none-any.whl.metadata Downloading pulp-3.3.0-py3-none-any.whl.metadata (8.4 kB) Downloading pulp-3.3.0-py3-none-any.whl (16.4 MB) ---------------------------------------- 0.0/16.4 MB ? eta -:--:-- ---------------------------------------- 0.0/16.4 MB ? eta -:--:-- ---------------------------------------- 0.0/16.4 MB 330.3 kB/s eta 0:00:50 ---------------------------------------- 0.1/16.4 MB 871.5 kB/s eta 0:00:19 - -------------------------------------- 0.5/16.4 MB 3.3 MB/s eta 0:00:05 -- ------------------------------------- 0.9/16.4 MB 4.9 MB/s eta 0:00:04 --- ------------------------------------ 1.6/16.4 MB 6.8 MB/s eta 0:00:03 ----- ---------------------------------- 2.4/16.4 MB 8.4 MB/s eta 0:00:02 ------- -------------------------------- 3.0/16.4 MB 9.1 MB/s eta 0:00:02 --------- ------------------------------ 3.9/16.4 MB 10.2 MB/s eta 0:00:02 ----------- ---------------------------- 4.6/16.4 MB 10.8 MB/s eta 0:00:02 ------------- -------------------------- 5.4/16.4 MB 11.4 MB/s eta 0:00:01 -------------- ------------------------- 6.1/16.4 MB 11.9 MB/s eta 0:00:01 ----------------- ---------------------- 7.0/16.4 MB 12.5 MB/s eta 0:00:01 ------------------- -------------------- 7.9/16.4 MB 12.9 MB/s eta 0:00:01 --------------------- ------------------ 8.7/16.4 MB 13.3 MB/s eta 0:00:01 ----------------------- ---------------- 9.5/16.4 MB 13.8 MB/s eta 0:00:01 ------------------------- -------------- 10.3/16.4 MB 15.6 MB/s eta 0:00:01 -------------------------- ------------- 11.0/16.4 MB 16.8 MB/s eta 0:00:01 ---------------------------- ----------- 11.7/16.4 MB 16.8 MB/s eta 0:00:01 ------------------------------ --------- 12.4/16.4 MB 16.8 MB/s eta 0:00:01 -------------------------------- ------- 13.2/16.4 MB 17.2 MB/s eta 0:00:01 --------------------------------- ------ 13.9/16.4 MB 16.8 MB/s eta 0:00:01 ----------------------------------- ---- 14.7/16.4 MB 16.8 MB/s eta 0:00:01 ------------------------------------- -- 15.5/16.4 MB 16.8 MB/s eta 0:00:01 --------------------------------------- 16.2/16.4 MB 16.8 MB/s eta 0:00:01 --------------------------------------- 16.4/16.4 MB 16.8 MB/s eta 0:00:01 --------------------------------------- 16.4/16.4 MB 16.8 MB/s eta 0:00:01 --------------------------------------- 16.4/16.4 MB 16.8 MB/s eta 0:00:01 ---------------------------------------- 16.4/16.4 MB 13.6 MB/s eta 0:00:00 Installing collected packages: pulp Successfully installed pulp-3.3.0
DEPRECATION: Loading egg at c:\programdata\anaconda3\lib\site-packages\vboxapi-1.0-py3.11.egg is deprecated. pip 23.3 will enforce this behaviour change. A possible replacement is to use pip for package installation.. WARNING: The script pulptest.exe is installed in 'C:\Users\RKB\AppData\Roaming\Python\Python311\Scripts' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
import pulp
print( pulp.listSolvers() ) # tieto solvery vie tvoja verzia PuLPu použiť
print( pulp.listSolvers(onlyAvailable = True) ) # tieto má naozaj dostupné
['CyLP', 'GLPK_CMD', 'PYGLPK', 'CPLEX_CMD', 'CPLEX_PY', 'GUROBI', 'GUROBI_CMD', 'MOSEK', 'XPRESS', 'XPRESS', 'XPRESS_PY', 'PULP_CBC_CMD', 'COIN_CMD', 'COINMP_DLL', 'CHOCO_CMD', 'MIPCL_CMD', 'SCIP_CMD', 'FSCIP_CMD', 'SCIP_PY', 'HiGHS', 'HiGHS_CMD', 'COPT', 'COPT_DLL', 'COPT_CMD', 'SAS94', 'SASCAS', 'CUOPT'] ['PULP_CBC_CMD']
import pulp
problem = pulp.LpProblem('Nugetky', pulp.LpMaximize)
# zadefinujeme si premenné, ktoré chceme používať
# cat ("category") je typ premennej, my budeme používať 'Integer' a 'Binary'
x1 = pulp.LpVariable('x1', cat='Integer', lowBound=0)
x2 = pulp.LpVariable('x2', cat='Integer', lowBound=0)
x3 = pulp.LpVariable('x3', cat='Integer', lowBound=0)
problem += 6*x1 + 9*x2 + 20*x3 # cieľ
problem += 20*x1 + 29*x2 + 61*x3 <= 320 # obmedzenie
print(problem)
print('-'*15)
# spustíme solver
status = problem.solve()
assert pulp.LpStatus[status] == 'Optimal'
# vypíšeme si hodnotu riešenia a následne hodnoty jednotlivých premenných
# pulp nám interne vráti floaty, my vieme, že naše odpovede sú celé čísla, pre istotu ich pri konverzii zaokrúhlime
def to_int(x): return int(round(x))
print( 'optimálny počet nugetiek:', to_int( pulp.value( problem.objective ) ) )
# premenné aj samé poznajú svoju hodnotu, ale rovnako sme mohli použiť pulp.value(premenna)
for premenna in [x1, x2, x3]: print( premenna.name, '=', to_int(premenna.varValue) )
Nugetky: MAXIMIZE 6*x1 + 9*x2 + 20*x3 + 0 SUBJECT TO _C1: 20 x1 + 29 x2 + 61 x3 <= 320 VARIABLES 0 <= x1 Integer 0 <= x2 Integer 0 <= x3 Integer --------------- optimálny počet nugetiek: 102 x1 = 1 x2 = 4 x3 = 3
6*1 + 9*4 + 20*3
102
%%writefile nugetky.in
max: 6x1 + 9x2 + 20x3;
20x1 + 29x2 + 61x3 <= 320;
int x1, x2, x3;
Overwriting nugetky.in
!lp_solve nugetky.in
Value of objective function: 102.00000000 Actual values of the variables: x1 1 x2 4 x3 3
%%writefile nugetky.in
max: 6x1 + 9x2 + 20x3;
20x1 + 29x2 + 61x3 <= 320;
Overwriting nugetky.in
!lp_solve nugetky.in
Value of objective function: 104.91803279 Actual values of the variables: x1 0 x2 0 x3 5.2459
5 3 . . 7 . . . .
6 . . 1 9 5 . . .
. 9 8 . . . . 6 .
8 . . . 6 . . . 3
4 . . 8 . 3 . . 1
7 . . . 2 . . . 6
. 6 . . . . 2 8 .
. . . 4 1 9 . . 5
. . . . 8 . . 7 9
%%writefile sudoku.lp
max: 0;
x111 + x112 + x113 + x114 + x115 + x116 + x117 + x118 + x119 = 1;
x121 + x122 + x123 + x124 + x125 + x126 + x127 + x128 + x129 = 1;
x131 + x132 + x133 + x134 + x135 + x136 + x137 + x138 + x139 = 1;
x141 + x142 + x143 + x144 + x145 + x146 + x147 + x148 + x149 = 1;
x151 + x152 + x153 + x154 + x155 + x156 + x157 + x158 + x159 = 1;
x161 + x162 + x163 + x164 + x165 + x166 + x167 + x168 + x169 = 1;
x171 + x172 + x173 + x174 + x175 + x176 + x177 + x178 + x179 = 1;
x181 + x182 + x183 + x184 + x185 + x186 + x187 + x188 + x189 = 1;
x191 + x192 + x193 + x194 + x195 + x196 + x197 + x198 + x199 = 1;
x211 + x212 + x213 + x214 + x215 + x216 + x217 + x218 + x219 = 1;
x221 + x222 + x223 + x224 + x225 + x226 + x227 + x228 + x229 = 1;
x231 + x232 + x233 + x234 + x235 + x236 + x237 + x238 + x239 = 1;
x241 + x242 + x243 + x244 + x245 + x246 + x247 + x248 + x249 = 1;
x251 + x252 + x253 + x254 + x255 + x256 + x257 + x258 + x259 = 1;
x261 + x262 + x263 + x264 + x265 + x266 + x267 + x268 + x269 = 1;
x271 + x272 + x273 + x274 + x275 + x276 + x277 + x278 + x279 = 1;
x281 + x282 + x283 + x284 + x285 + x286 + x287 + x288 + x289 = 1;
x291 + x292 + x293 + x294 + x295 + x296 + x297 + x298 + x299 = 1;
x311 + x312 + x313 + x314 + x315 + x316 + x317 + x318 + x319 = 1;
x321 + x322 + x323 + x324 + x325 + x326 + x327 + x328 + x329 = 1;
x331 + x332 + x333 + x334 + x335 + x336 + x337 + x338 + x339 = 1;
x341 + x342 + x343 + x344 + x345 + x346 + x347 + x348 + x349 = 1;
x351 + x352 + x353 + x354 + x355 + x356 + x357 + x358 + x359 = 1;
x361 + x362 + x363 + x364 + x365 + x366 + x367 + x368 + x369 = 1;
x371 + x372 + x373 + x374 + x375 + x376 + x377 + x378 + x379 = 1;
x381 + x382 + x383 + x384 + x385 + x386 + x387 + x388 + x389 = 1;
x391 + x392 + x393 + x394 + x395 + x396 + x397 + x398 + x399 = 1;
x411 + x412 + x413 + x414 + x415 + x416 + x417 + x418 + x419 = 1;
x421 + x422 + x423 + x424 + x425 + x426 + x427 + x428 + x429 = 1;
x431 + x432 + x433 + x434 + x435 + x436 + x437 + x438 + x439 = 1;
x441 + x442 + x443 + x444 + x445 + x446 + x447 + x448 + x449 = 1;
x451 + x452 + x453 + x454 + x455 + x456 + x457 + x458 + x459 = 1;
x461 + x462 + x463 + x464 + x465 + x466 + x467 + x468 + x469 = 1;
x471 + x472 + x473 + x474 + x475 + x476 + x477 + x478 + x479 = 1;
x481 + x482 + x483 + x484 + x485 + x486 + x487 + x488 + x489 = 1;
x491 + x492 + x493 + x494 + x495 + x496 + x497 + x498 + x499 = 1;
x511 + x512 + x513 + x514 + x515 + x516 + x517 + x518 + x519 = 1;
x521 + x522 + x523 + x524 + x525 + x526 + x527 + x528 + x529 = 1;
x531 + x532 + x533 + x534 + x535 + x536 + x537 + x538 + x539 = 1;
x541 + x542 + x543 + x544 + x545 + x546 + x547 + x548 + x549 = 1;
x551 + x552 + x553 + x554 + x555 + x556 + x557 + x558 + x559 = 1;
x561 + x562 + x563 + x564 + x565 + x566 + x567 + x568 + x569 = 1;
x571 + x572 + x573 + x574 + x575 + x576 + x577 + x578 + x579 = 1;
x581 + x582 + x583 + x584 + x585 + x586 + x587 + x588 + x589 = 1;
x591 + x592 + x593 + x594 + x595 + x596 + x597 + x598 + x599 = 1;
x611 + x612 + x613 + x614 + x615 + x616 + x617 + x618 + x619 = 1;
x621 + x622 + x623 + x624 + x625 + x626 + x627 + x628 + x629 = 1;
x631 + x632 + x633 + x634 + x635 + x636 + x637 + x638 + x639 = 1;
x641 + x642 + x643 + x644 + x645 + x646 + x647 + x648 + x649 = 1;
x651 + x652 + x653 + x654 + x655 + x656 + x657 + x658 + x659 = 1;
x661 + x662 + x663 + x664 + x665 + x666 + x667 + x668 + x669 = 1;
x671 + x672 + x673 + x674 + x675 + x676 + x677 + x678 + x679 = 1;
x681 + x682 + x683 + x684 + x685 + x686 + x687 + x688 + x689 = 1;
x691 + x692 + x693 + x694 + x695 + x696 + x697 + x698 + x699 = 1;
x711 + x712 + x713 + x714 + x715 + x716 + x717 + x718 + x719 = 1;
x721 + x722 + x723 + x724 + x725 + x726 + x727 + x728 + x729 = 1;
x731 + x732 + x733 + x734 + x735 + x736 + x737 + x738 + x739 = 1;
x741 + x742 + x743 + x744 + x745 + x746 + x747 + x748 + x749 = 1;
x751 + x752 + x753 + x754 + x755 + x756 + x757 + x758 + x759 = 1;
x761 + x762 + x763 + x764 + x765 + x766 + x767 + x768 + x769 = 1;
x771 + x772 + x773 + x774 + x775 + x776 + x777 + x778 + x779 = 1;
x781 + x782 + x783 + x784 + x785 + x786 + x787 + x788 + x789 = 1;
x791 + x792 + x793 + x794 + x795 + x796 + x797 + x798 + x799 = 1;
x811 + x812 + x813 + x814 + x815 + x816 + x817 + x818 + x819 = 1;
x821 + x822 + x823 + x824 + x825 + x826 + x827 + x828 + x829 = 1;
x831 + x832 + x833 + x834 + x835 + x836 + x837 + x838 + x839 = 1;
x841 + x842 + x843 + x844 + x845 + x846 + x847 + x848 + x849 = 1;
x851 + x852 + x853 + x854 + x855 + x856 + x857 + x858 + x859 = 1;
x861 + x862 + x863 + x864 + x865 + x866 + x867 + x868 + x869 = 1;
x871 + x872 + x873 + x874 + x875 + x876 + x877 + x878 + x879 = 1;
x881 + x882 + x883 + x884 + x885 + x886 + x887 + x888 + x889 = 1;
x891 + x892 + x893 + x894 + x895 + x896 + x897 + x898 + x899 = 1;
x911 + x912 + x913 + x914 + x915 + x916 + x917 + x918 + x919 = 1;
x921 + x922 + x923 + x924 + x925 + x926 + x927 + x928 + x929 = 1;
x931 + x932 + x933 + x934 + x935 + x936 + x937 + x938 + x939 = 1;
x941 + x942 + x943 + x944 + x945 + x946 + x947 + x948 + x949 = 1;
x951 + x952 + x953 + x954 + x955 + x956 + x957 + x958 + x959 = 1;
x961 + x962 + x963 + x964 + x965 + x966 + x967 + x968 + x969 = 1;
x971 + x972 + x973 + x974 + x975 + x976 + x977 + x978 + x979 = 1;
x981 + x982 + x983 + x984 + x985 + x986 + x987 + x988 + x989 = 1;
x991 + x992 + x993 + x994 + x995 + x996 + x997 + x998 + x999 = 1;
x111 + x121 + x131 + x141 + x151 + x161 + x171 + x181 + x191 = 1;
x112 + x122 + x132 + x142 + x152 + x162 + x172 + x182 + x192 = 1;
x113 + x123 + x133 + x143 + x153 + x163 + x173 + x183 + x193 = 1;
x114 + x124 + x134 + x144 + x154 + x164 + x174 + x184 + x194 = 1;
x115 + x125 + x135 + x145 + x155 + x165 + x175 + x185 + x195 = 1;
x116 + x126 + x136 + x146 + x156 + x166 + x176 + x186 + x196 = 1;
x117 + x127 + x137 + x147 + x157 + x167 + x177 + x187 + x197 = 1;
x118 + x128 + x138 + x148 + x158 + x168 + x178 + x188 + x198 = 1;
x119 + x129 + x139 + x149 + x159 + x169 + x179 + x189 + x199 = 1;
x211 + x221 + x231 + x241 + x251 + x261 + x271 + x281 + x291 = 1;
x212 + x222 + x232 + x242 + x252 + x262 + x272 + x282 + x292 = 1;
x213 + x223 + x233 + x243 + x253 + x263 + x273 + x283 + x293 = 1;
x214 + x224 + x234 + x244 + x254 + x264 + x274 + x284 + x294 = 1;
x215 + x225 + x235 + x245 + x255 + x265 + x275 + x285 + x295 = 1;
x216 + x226 + x236 + x246 + x256 + x266 + x276 + x286 + x296 = 1;
x217 + x227 + x237 + x247 + x257 + x267 + x277 + x287 + x297 = 1;
x218 + x228 + x238 + x248 + x258 + x268 + x278 + x288 + x298 = 1;
x219 + x229 + x239 + x249 + x259 + x269 + x279 + x289 + x299 = 1;
x311 + x321 + x331 + x341 + x351 + x361 + x371 + x381 + x391 = 1;
x312 + x322 + x332 + x342 + x352 + x362 + x372 + x382 + x392 = 1;
x313 + x323 + x333 + x343 + x353 + x363 + x373 + x383 + x393 = 1;
x314 + x324 + x334 + x344 + x354 + x364 + x374 + x384 + x394 = 1;
x315 + x325 + x335 + x345 + x355 + x365 + x375 + x385 + x395 = 1;
x316 + x326 + x336 + x346 + x356 + x366 + x376 + x386 + x396 = 1;
x317 + x327 + x337 + x347 + x357 + x367 + x377 + x387 + x397 = 1;
x318 + x328 + x338 + x348 + x358 + x368 + x378 + x388 + x398 = 1;
x319 + x329 + x339 + x349 + x359 + x369 + x379 + x389 + x399 = 1;
x411 + x421 + x431 + x441 + x451 + x461 + x471 + x481 + x491 = 1;
x412 + x422 + x432 + x442 + x452 + x462 + x472 + x482 + x492 = 1;
x413 + x423 + x433 + x443 + x453 + x463 + x473 + x483 + x493 = 1;
x414 + x424 + x434 + x444 + x454 + x464 + x474 + x484 + x494 = 1;
x415 + x425 + x435 + x445 + x455 + x465 + x475 + x485 + x495 = 1;
x416 + x426 + x436 + x446 + x456 + x466 + x476 + x486 + x496 = 1;
x417 + x427 + x437 + x447 + x457 + x467 + x477 + x487 + x497 = 1;
x418 + x428 + x438 + x448 + x458 + x468 + x478 + x488 + x498 = 1;
x419 + x429 + x439 + x449 + x459 + x469 + x479 + x489 + x499 = 1;
x511 + x521 + x531 + x541 + x551 + x561 + x571 + x581 + x591 = 1;
x512 + x522 + x532 + x542 + x552 + x562 + x572 + x582 + x592 = 1;
x513 + x523 + x533 + x543 + x553 + x563 + x573 + x583 + x593 = 1;
x514 + x524 + x534 + x544 + x554 + x564 + x574 + x584 + x594 = 1;
x515 + x525 + x535 + x545 + x555 + x565 + x575 + x585 + x595 = 1;
x516 + x526 + x536 + x546 + x556 + x566 + x576 + x586 + x596 = 1;
x517 + x527 + x537 + x547 + x557 + x567 + x577 + x587 + x597 = 1;
x518 + x528 + x538 + x548 + x558 + x568 + x578 + x588 + x598 = 1;
x519 + x529 + x539 + x549 + x559 + x569 + x579 + x589 + x599 = 1;
x611 + x621 + x631 + x641 + x651 + x661 + x671 + x681 + x691 = 1;
x612 + x622 + x632 + x642 + x652 + x662 + x672 + x682 + x692 = 1;
x613 + x623 + x633 + x643 + x653 + x663 + x673 + x683 + x693 = 1;
x614 + x624 + x634 + x644 + x654 + x664 + x674 + x684 + x694 = 1;
x615 + x625 + x635 + x645 + x655 + x665 + x675 + x685 + x695 = 1;
x616 + x626 + x636 + x646 + x656 + x666 + x676 + x686 + x696 = 1;
x617 + x627 + x637 + x647 + x657 + x667 + x677 + x687 + x697 = 1;
x618 + x628 + x638 + x648 + x658 + x668 + x678 + x688 + x698 = 1;
x619 + x629 + x639 + x649 + x659 + x669 + x679 + x689 + x699 = 1;
x711 + x721 + x731 + x741 + x751 + x761 + x771 + x781 + x791 = 1;
x712 + x722 + x732 + x742 + x752 + x762 + x772 + x782 + x792 = 1;
x713 + x723 + x733 + x743 + x753 + x763 + x773 + x783 + x793 = 1;
x714 + x724 + x734 + x744 + x754 + x764 + x774 + x784 + x794 = 1;
x715 + x725 + x735 + x745 + x755 + x765 + x775 + x785 + x795 = 1;
x716 + x726 + x736 + x746 + x756 + x766 + x776 + x786 + x796 = 1;
x717 + x727 + x737 + x747 + x757 + x767 + x777 + x787 + x797 = 1;
x718 + x728 + x738 + x748 + x758 + x768 + x778 + x788 + x798 = 1;
x719 + x729 + x739 + x749 + x759 + x769 + x779 + x789 + x799 = 1;
x811 + x821 + x831 + x841 + x851 + x861 + x871 + x881 + x891 = 1;
x812 + x822 + x832 + x842 + x852 + x862 + x872 + x882 + x892 = 1;
x813 + x823 + x833 + x843 + x853 + x863 + x873 + x883 + x893 = 1;
x814 + x824 + x834 + x844 + x854 + x864 + x874 + x884 + x894 = 1;
x815 + x825 + x835 + x845 + x855 + x865 + x875 + x885 + x895 = 1;
x816 + x826 + x836 + x846 + x856 + x866 + x876 + x886 + x896 = 1;
x817 + x827 + x837 + x847 + x857 + x867 + x877 + x887 + x897 = 1;
x818 + x828 + x838 + x848 + x858 + x868 + x878 + x888 + x898 = 1;
x819 + x829 + x839 + x849 + x859 + x869 + x879 + x889 + x899 = 1;
x911 + x921 + x931 + x941 + x951 + x961 + x971 + x981 + x991 = 1;
x912 + x922 + x932 + x942 + x952 + x962 + x972 + x982 + x992 = 1;
x913 + x923 + x933 + x943 + x953 + x963 + x973 + x983 + x993 = 1;
x914 + x924 + x934 + x944 + x954 + x964 + x974 + x984 + x994 = 1;
x915 + x925 + x935 + x945 + x955 + x965 + x975 + x985 + x995 = 1;
x916 + x926 + x936 + x946 + x956 + x966 + x976 + x986 + x996 = 1;
x917 + x927 + x937 + x947 + x957 + x967 + x977 + x987 + x997 = 1;
x918 + x928 + x938 + x948 + x958 + x968 + x978 + x988 + x998 = 1;
x919 + x929 + x939 + x949 + x959 + x969 + x979 + x989 + x999 = 1;
x111 + x211 + x311 + x411 + x511 + x611 + x711 + x811 + x911 = 1;
x112 + x212 + x312 + x412 + x512 + x612 + x712 + x812 + x912 = 1;
x113 + x213 + x313 + x413 + x513 + x613 + x713 + x813 + x913 = 1;
x114 + x214 + x314 + x414 + x514 + x614 + x714 + x814 + x914 = 1;
x115 + x215 + x315 + x415 + x515 + x615 + x715 + x815 + x915 = 1;
x116 + x216 + x316 + x416 + x516 + x616 + x716 + x816 + x916 = 1;
x117 + x217 + x317 + x417 + x517 + x617 + x717 + x817 + x917 = 1;
x118 + x218 + x318 + x418 + x518 + x618 + x718 + x818 + x918 = 1;
x119 + x219 + x319 + x419 + x519 + x619 + x719 + x819 + x919 = 1;
x121 + x221 + x321 + x421 + x521 + x621 + x721 + x821 + x921 = 1;
x122 + x222 + x322 + x422 + x522 + x622 + x722 + x822 + x922 = 1;
x123 + x223 + x323 + x423 + x523 + x623 + x723 + x823 + x923 = 1;
x124 + x224 + x324 + x424 + x524 + x624 + x724 + x824 + x924 = 1;
x125 + x225 + x325 + x425 + x525 + x625 + x725 + x825 + x925 = 1;
x126 + x226 + x326 + x426 + x526 + x626 + x726 + x826 + x926 = 1;
x127 + x227 + x327 + x427 + x527 + x627 + x727 + x827 + x927 = 1;
x128 + x228 + x328 + x428 + x528 + x628 + x728 + x828 + x928 = 1;
x129 + x229 + x329 + x429 + x529 + x629 + x729 + x829 + x929 = 1;
x131 + x231 + x331 + x431 + x531 + x631 + x731 + x831 + x931 = 1;
x132 + x232 + x332 + x432 + x532 + x632 + x732 + x832 + x932 = 1;
x133 + x233 + x333 + x433 + x533 + x633 + x733 + x833 + x933 = 1;
x134 + x234 + x334 + x434 + x534 + x634 + x734 + x834 + x934 = 1;
x135 + x235 + x335 + x435 + x535 + x635 + x735 + x835 + x935 = 1;
x136 + x236 + x336 + x436 + x536 + x636 + x736 + x836 + x936 = 1;
x137 + x237 + x337 + x437 + x537 + x637 + x737 + x837 + x937 = 1;
x138 + x238 + x338 + x438 + x538 + x638 + x738 + x838 + x938 = 1;
x139 + x239 + x339 + x439 + x539 + x639 + x739 + x839 + x939 = 1;
x141 + x241 + x341 + x441 + x541 + x641 + x741 + x841 + x941 = 1;
x142 + x242 + x342 + x442 + x542 + x642 + x742 + x842 + x942 = 1;
x143 + x243 + x343 + x443 + x543 + x643 + x743 + x843 + x943 = 1;
x144 + x244 + x344 + x444 + x544 + x644 + x744 + x844 + x944 = 1;
x145 + x245 + x345 + x445 + x545 + x645 + x745 + x845 + x945 = 1;
x146 + x246 + x346 + x446 + x546 + x646 + x746 + x846 + x946 = 1;
x147 + x247 + x347 + x447 + x547 + x647 + x747 + x847 + x947 = 1;
x148 + x248 + x348 + x448 + x548 + x648 + x748 + x848 + x948 = 1;
x149 + x249 + x349 + x449 + x549 + x649 + x749 + x849 + x949 = 1;
x151 + x251 + x351 + x451 + x551 + x651 + x751 + x851 + x951 = 1;
x152 + x252 + x352 + x452 + x552 + x652 + x752 + x852 + x952 = 1;
x153 + x253 + x353 + x453 + x553 + x653 + x753 + x853 + x953 = 1;
x154 + x254 + x354 + x454 + x554 + x654 + x754 + x854 + x954 = 1;
x155 + x255 + x355 + x455 + x555 + x655 + x755 + x855 + x955 = 1;
x156 + x256 + x356 + x456 + x556 + x656 + x756 + x856 + x956 = 1;
x157 + x257 + x357 + x457 + x557 + x657 + x757 + x857 + x957 = 1;
x158 + x258 + x358 + x458 + x558 + x658 + x758 + x858 + x958 = 1;
x159 + x259 + x359 + x459 + x559 + x659 + x759 + x859 + x959 = 1;
x161 + x261 + x361 + x461 + x561 + x661 + x761 + x861 + x961 = 1;
x162 + x262 + x362 + x462 + x562 + x662 + x762 + x862 + x962 = 1;
x163 + x263 + x363 + x463 + x563 + x663 + x763 + x863 + x963 = 1;
x164 + x264 + x364 + x464 + x564 + x664 + x764 + x864 + x964 = 1;
x165 + x265 + x365 + x465 + x565 + x665 + x765 + x865 + x965 = 1;
x166 + x266 + x366 + x466 + x566 + x666 + x766 + x866 + x966 = 1;
x167 + x267 + x367 + x467 + x567 + x667 + x767 + x867 + x967 = 1;
x168 + x268 + x368 + x468 + x568 + x668 + x768 + x868 + x968 = 1;
x169 + x269 + x369 + x469 + x569 + x669 + x769 + x869 + x969 = 1;
x171 + x271 + x371 + x471 + x571 + x671 + x771 + x871 + x971 = 1;
x172 + x272 + x372 + x472 + x572 + x672 + x772 + x872 + x972 = 1;
x173 + x273 + x373 + x473 + x573 + x673 + x773 + x873 + x973 = 1;
x174 + x274 + x374 + x474 + x574 + x674 + x774 + x874 + x974 = 1;
x175 + x275 + x375 + x475 + x575 + x675 + x775 + x875 + x975 = 1;
x176 + x276 + x376 + x476 + x576 + x676 + x776 + x876 + x976 = 1;
x177 + x277 + x377 + x477 + x577 + x677 + x777 + x877 + x977 = 1;
x178 + x278 + x378 + x478 + x578 + x678 + x778 + x878 + x978 = 1;
x179 + x279 + x379 + x479 + x579 + x679 + x779 + x879 + x979 = 1;
x181 + x281 + x381 + x481 + x581 + x681 + x781 + x881 + x981 = 1;
x182 + x282 + x382 + x482 + x582 + x682 + x782 + x882 + x982 = 1;
x183 + x283 + x383 + x483 + x583 + x683 + x783 + x883 + x983 = 1;
x184 + x284 + x384 + x484 + x584 + x684 + x784 + x884 + x984 = 1;
x185 + x285 + x385 + x485 + x585 + x685 + x785 + x885 + x985 = 1;
x186 + x286 + x386 + x486 + x586 + x686 + x786 + x886 + x986 = 1;
x187 + x287 + x387 + x487 + x587 + x687 + x787 + x887 + x987 = 1;
x188 + x288 + x388 + x488 + x588 + x688 + x788 + x888 + x988 = 1;
x189 + x289 + x389 + x489 + x589 + x689 + x789 + x889 + x989 = 1;
x191 + x291 + x391 + x491 + x591 + x691 + x791 + x891 + x991 = 1;
x192 + x292 + x392 + x492 + x592 + x692 + x792 + x892 + x992 = 1;
x193 + x293 + x393 + x493 + x593 + x693 + x793 + x893 + x993 = 1;
x194 + x294 + x394 + x494 + x594 + x694 + x794 + x894 + x994 = 1;
x195 + x295 + x395 + x495 + x595 + x695 + x795 + x895 + x995 = 1;
x196 + x296 + x396 + x496 + x596 + x696 + x796 + x896 + x996 = 1;
x197 + x297 + x397 + x497 + x597 + x697 + x797 + x897 + x997 = 1;
x198 + x298 + x398 + x498 + x598 + x698 + x798 + x898 + x998 = 1;
x199 + x299 + x399 + x499 + x599 + x699 + x799 + x899 + x999 = 1;
x111 + x121 + x131 + x211 + x221 + x231 + x311 + x321 + x331 = 1;
x112 + x122 + x132 + x212 + x222 + x232 + x312 + x322 + x332 = 1;
x113 + x123 + x133 + x213 + x223 + x233 + x313 + x323 + x333 = 1;
x114 + x124 + x134 + x214 + x224 + x234 + x314 + x324 + x334 = 1;
x115 + x125 + x135 + x215 + x225 + x235 + x315 + x325 + x335 = 1;
x116 + x126 + x136 + x216 + x226 + x236 + x316 + x326 + x336 = 1;
x117 + x127 + x137 + x217 + x227 + x237 + x317 + x327 + x337 = 1;
x118 + x128 + x138 + x218 + x228 + x238 + x318 + x328 + x338 = 1;
x119 + x129 + x139 + x219 + x229 + x239 + x319 + x329 + x339 = 1;
x141 + x151 + x161 + x241 + x251 + x261 + x341 + x351 + x361 = 1;
x142 + x152 + x162 + x242 + x252 + x262 + x342 + x352 + x362 = 1;
x143 + x153 + x163 + x243 + x253 + x263 + x343 + x353 + x363 = 1;
x144 + x154 + x164 + x244 + x254 + x264 + x344 + x354 + x364 = 1;
x145 + x155 + x165 + x245 + x255 + x265 + x345 + x355 + x365 = 1;
x146 + x156 + x166 + x246 + x256 + x266 + x346 + x356 + x366 = 1;
x147 + x157 + x167 + x247 + x257 + x267 + x347 + x357 + x367 = 1;
x148 + x158 + x168 + x248 + x258 + x268 + x348 + x358 + x368 = 1;
x149 + x159 + x169 + x249 + x259 + x269 + x349 + x359 + x369 = 1;
x171 + x181 + x191 + x271 + x281 + x291 + x371 + x381 + x391 = 1;
x172 + x182 + x192 + x272 + x282 + x292 + x372 + x382 + x392 = 1;
x173 + x183 + x193 + x273 + x283 + x293 + x373 + x383 + x393 = 1;
x174 + x184 + x194 + x274 + x284 + x294 + x374 + x384 + x394 = 1;
x175 + x185 + x195 + x275 + x285 + x295 + x375 + x385 + x395 = 1;
x176 + x186 + x196 + x276 + x286 + x296 + x376 + x386 + x396 = 1;
x177 + x187 + x197 + x277 + x287 + x297 + x377 + x387 + x397 = 1;
x178 + x188 + x198 + x278 + x288 + x298 + x378 + x388 + x398 = 1;
x179 + x189 + x199 + x279 + x289 + x299 + x379 + x389 + x399 = 1;
x411 + x421 + x431 + x511 + x521 + x531 + x611 + x621 + x631 = 1;
x412 + x422 + x432 + x512 + x522 + x532 + x612 + x622 + x632 = 1;
x413 + x423 + x433 + x513 + x523 + x533 + x613 + x623 + x633 = 1;
x414 + x424 + x434 + x514 + x524 + x534 + x614 + x624 + x634 = 1;
x415 + x425 + x435 + x515 + x525 + x535 + x615 + x625 + x635 = 1;
x416 + x426 + x436 + x516 + x526 + x536 + x616 + x626 + x636 = 1;
x417 + x427 + x437 + x517 + x527 + x537 + x617 + x627 + x637 = 1;
x418 + x428 + x438 + x518 + x528 + x538 + x618 + x628 + x638 = 1;
x419 + x429 + x439 + x519 + x529 + x539 + x619 + x629 + x639 = 1;
x441 + x451 + x461 + x541 + x551 + x561 + x641 + x651 + x661 = 1;
x442 + x452 + x462 + x542 + x552 + x562 + x642 + x652 + x662 = 1;
x443 + x453 + x463 + x543 + x553 + x563 + x643 + x653 + x663 = 1;
x444 + x454 + x464 + x544 + x554 + x564 + x644 + x654 + x664 = 1;
x445 + x455 + x465 + x545 + x555 + x565 + x645 + x655 + x665 = 1;
x446 + x456 + x466 + x546 + x556 + x566 + x646 + x656 + x666 = 1;
x447 + x457 + x467 + x547 + x557 + x567 + x647 + x657 + x667 = 1;
x448 + x458 + x468 + x548 + x558 + x568 + x648 + x658 + x668 = 1;
x449 + x459 + x469 + x549 + x559 + x569 + x649 + x659 + x669 = 1;
x471 + x481 + x491 + x571 + x581 + x591 + x671 + x681 + x691 = 1;
x472 + x482 + x492 + x572 + x582 + x592 + x672 + x682 + x692 = 1;
x473 + x483 + x493 + x573 + x583 + x593 + x673 + x683 + x693 = 1;
x474 + x484 + x494 + x574 + x584 + x594 + x674 + x684 + x694 = 1;
x475 + x485 + x495 + x575 + x585 + x595 + x675 + x685 + x695 = 1;
x476 + x486 + x496 + x576 + x586 + x596 + x676 + x686 + x696 = 1;
x477 + x487 + x497 + x577 + x587 + x597 + x677 + x687 + x697 = 1;
x478 + x488 + x498 + x578 + x588 + x598 + x678 + x688 + x698 = 1;
x479 + x489 + x499 + x579 + x589 + x599 + x679 + x689 + x699 = 1;
x711 + x721 + x731 + x811 + x821 + x831 + x911 + x921 + x931 = 1;
x712 + x722 + x732 + x812 + x822 + x832 + x912 + x922 + x932 = 1;
x713 + x723 + x733 + x813 + x823 + x833 + x913 + x923 + x933 = 1;
x714 + x724 + x734 + x814 + x824 + x834 + x914 + x924 + x934 = 1;
x715 + x725 + x735 + x815 + x825 + x835 + x915 + x925 + x935 = 1;
x716 + x726 + x736 + x816 + x826 + x836 + x916 + x926 + x936 = 1;
x717 + x727 + x737 + x817 + x827 + x837 + x917 + x927 + x937 = 1;
x718 + x728 + x738 + x818 + x828 + x838 + x918 + x928 + x938 = 1;
x719 + x729 + x739 + x819 + x829 + x839 + x919 + x929 + x939 = 1;
x741 + x751 + x761 + x841 + x851 + x861 + x941 + x951 + x961 = 1;
x742 + x752 + x762 + x842 + x852 + x862 + x942 + x952 + x962 = 1;
x743 + x753 + x763 + x843 + x853 + x863 + x943 + x953 + x963 = 1;
x744 + x754 + x764 + x844 + x854 + x864 + x944 + x954 + x964 = 1;
x745 + x755 + x765 + x845 + x855 + x865 + x945 + x955 + x965 = 1;
x746 + x756 + x766 + x846 + x856 + x866 + x946 + x956 + x966 = 1;
x747 + x757 + x767 + x847 + x857 + x867 + x947 + x957 + x967 = 1;
x748 + x758 + x768 + x848 + x858 + x868 + x948 + x958 + x968 = 1;
x749 + x759 + x769 + x849 + x859 + x869 + x949 + x959 + x969 = 1;
x771 + x781 + x791 + x871 + x881 + x891 + x971 + x981 + x991 = 1;
x772 + x782 + x792 + x872 + x882 + x892 + x972 + x982 + x992 = 1;
x773 + x783 + x793 + x873 + x883 + x893 + x973 + x983 + x993 = 1;
x774 + x784 + x794 + x874 + x884 + x894 + x974 + x984 + x994 = 1;
x775 + x785 + x795 + x875 + x885 + x895 + x975 + x985 + x995 = 1;
x776 + x786 + x796 + x876 + x886 + x896 + x976 + x986 + x996 = 1;
x777 + x787 + x797 + x877 + x887 + x897 + x977 + x987 + x997 = 1;
x778 + x788 + x798 + x878 + x888 + x898 + x978 + x988 + x998 = 1;
x779 + x789 + x799 + x879 + x889 + x899 + x979 + x989 + x999 = 1;
x115 = 1;
x123 = 1;
x157 = 1;
x216 = 1;
x241 = 1;
x259 = 1;
x265 = 1;
x329 = 1;
x338 = 1;
x386 = 1;
x418 = 1;
x456 = 1;
x493 = 1;
x514 = 1;
x548 = 1;
x563 = 1;
x591 = 1;
x617 = 1;
x652 = 1;
x696 = 1;
x726 = 1;
x772 = 1;
x788 = 1;
x844 = 1;
x851 = 1;
x869 = 1;
x895 = 1;
x958 = 1;
x987 = 1;
x999 = 1;
bin x111, x112, x113, x114, x116, x117, x118, x119, x121, x122, x124, x125, x126, x127, x128, x129, x131, x132, x133, x134, x135, x136, x137, x138, x139, x141, x142, x143, x144, x145, x146, x147, x148, x149, x151, x152, x153, x154, x155, x156, x158, x159, x161, x162, x163, x164, x165, x166, x167, x168, x169, x171, x172, x173, x174, x175, x176, x177, x178, x179, x181, x182, x183, x184, x185, x186, x187, x188, x189, x191, x192, x193, x194, x195, x196, x197, x198, x199, x211, x212, x213, x214, x215, x217, x218, x219, x221, x222, x223, x224, x225, x226, x227, x228, x229, x231, x232, x233, x234, x235, x236, x237, x238, x239, x242, x243, x244, x245, x246, x247, x248, x249, x251, x252, x253, x254, x255, x256, x257, x258, x261, x262, x263, x264, x266, x267, x268, x269, x271, x272, x273, x274, x275, x276, x277, x278, x279, x281, x282, x283, x284, x285, x286, x287, x288, x289, x291, x292, x293, x294, x295, x296, x297, x298, x299, x311, x312, x313, x314, x315, x316, x317, x318, x319, x321, x322, x323, x324, x325, x326, x327, x328, x331, x332, x333, x334, x335, x336, x337, x339, x341, x342, x343, x344, x345, x346, x347, x348, x349, x351, x352, x353, x354, x355, x356, x357, x358, x359, x361, x362, x363, x364, x365, x366, x367, x368, x369, x371, x372, x373, x374, x375, x376, x377, x378, x379, x381, x382, x383, x384, x385, x387, x388, x389, x391, x392, x393, x394, x395, x396, x397, x398, x399, x411, x412, x413, x414, x415, x416, x417, x419, x421, x422, x423, x424, x425, x426, x427, x428, x429, x431, x432, x433, x434, x435, x436, x437, x438, x439, x441, x442, x443, x444, x445, x446, x447, x448, x449, x451, x452, x453, x454, x455, x457, x458, x459, x461, x462, x463, x464, x465, x466, x467, x468, x469, x471, x472, x473, x474, x475, x476, x477, x478, x479, x481, x482, x483, x484, x485, x486, x487, x488, x489, x491, x492, x494, x495, x496, x497, x498, x499, x511, x512, x513, x515, x516, x517, x518, x519, x521, x522, x523, x524, x525, x526, x527, x528, x529, x531, x532, x533, x534, x535, x536, x537, x538, x539, x541, x542, x543, x544, x545, x546, x547, x549, x551, x552, x553, x554, x555, x556, x557, x558, x559, x561, x562, x564, x565, x566, x567, x568, x569, x571, x572, x573, x574, x575, x576, x577, x578, x579, x581, x582, x583, x584, x585, x586, x587, x588, x589, x592, x593, x594, x595, x596, x597, x598, x599, x611, x612, x613, x614, x615, x616, x618, x619, x621, x622, x623, x624, x625, x626, x627, x628, x629, x631, x632, x633, x634, x635, x636, x637, x638, x639, x641, x642, x643, x644, x645, x646, x647, x648, x649, x651, x653, x654, x655, x656, x657, x658, x659, x661, x662, x663, x664, x665, x666, x667, x668, x669, x671, x672, x673, x674, x675, x676, x677, x678, x679, x681, x682, x683, x684, x685, x686, x687, x688, x689, x691, x692, x693, x694, x695, x697, x698, x699, x711, x712, x713, x714, x715, x716, x717, x718, x719, x721, x722, x723, x724, x725, x727, x728, x729, x731, x732, x733, x734, x735, x736, x737, x738, x739, x741, x742, x743, x744, x745, x746, x747, x748, x749, x751, x752, x753, x754, x755, x756, x757, x758, x759, x761, x762, x763, x764, x765, x766, x767, x768, x769, x771, x773, x774, x775, x776, x777, x778, x779, x781, x782, x783, x784, x785, x786, x787, x789, x791, x792, x793, x794, x795, x796, x797, x798, x799, x811, x812, x813, x814, x815, x816, x817, x818, x819, x821, x822, x823, x824, x825, x826, x827, x828, x829, x831, x832, x833, x834, x835, x836, x837, x838, x839, x841, x842, x843, x845, x846, x847, x848, x849, x852, x853, x854, x855, x856, x857, x858, x859, x861, x862, x863, x864, x865, x866, x867, x868, x871, x872, x873, x874, x875, x876, x877, x878, x879, x881, x882, x883, x884, x885, x886, x887, x888, x889, x891, x892, x893, x894, x896, x897, x898, x899, x911, x912, x913, x914, x915, x916, x917, x918, x919, x921, x922, x923, x924, x925, x926, x927, x928, x929, x931, x932, x933, x934, x935, x936, x937, x938, x939, x941, x942, x943, x944, x945, x946, x947, x948, x949, x951, x952, x953, x954, x955, x956, x957, x959, x961, x962, x963, x964, x965, x966, x967, x968, x969, x971, x972, x973, x974, x975, x976, x977, x978, x979, x981, x982, x983, x984, x985, x986, x988, x989, x991, x992, x993, x994, x995, x996, x997, x998;
Writing sudoku.lp
!lp_solve -presolve sudoku.lp
Value of objective function: 0 Actual values of the variables: x111 0 x112 0 x113 0 x114 0 x115 1 x116 0 x117 0 x118 0 x119 0 x121 0 x122 0 x123 1 x124 0 x125 0 x126 0 x127 0 x128 0 x129 0 x131 0 x132 0 x133 0 x134 1 x135 0 x136 0 x137 0 x138 0 x139 0 x141 0 x142 0 x143 0 x144 0 x145 0 x146 1 x147 0 x148 0 x149 0 x151 0 x152 0 x153 0 x154 0 x155 0 x156 0 x157 1 x158 0 x159 0 x161 0 x162 0 x163 0 x164 0 x165 0 x166 0 x167 0 x168 1 x169 0 x171 0 x172 0 x173 0 x174 0 x175 0 x176 0 x177 0 x178 0 x179 1 x181 1 x182 0 x183 0 x184 0 x185 0 x186 0 x187 0 x188 0 x189 0 x191 0 x192 1 x193 0 x194 0 x195 0 x196 0 x197 0 x198 0 x199 0 x211 0 x212 0 x213 0 x214 0 x215 0 x216 1 x217 0 x218 0 x219 0 x221 0 x222 0 x223 0 x224 0 x225 0 x226 0 x227 1 x228 0 x229 0 x231 0 x232 1 x233 0 x234 0 x235 0 x236 0 x237 0 x238 0 x239 0 x241 1 x242 0 x243 0 x244 0 x245 0 x246 0 x247 0 x248 0 x249 0 x251 0 x252 0 x253 0 x254 0 x255 0 x256 0 x257 0 x258 0 x259 1 x261 0 x262 0 x263 0 x264 0 x265 1 x266 0 x267 0 x268 0 x269 0 x271 0 x272 0 x273 1 x274 0 x275 0 x276 0 x277 0 x278 0 x279 0 x281 0 x282 0 x283 0 x284 1 x285 0 x286 0 x287 0 x288 0 x289 0 x291 0 x292 0 x293 0 x294 0 x295 0 x296 0 x297 0 x298 1 x299 0 x311 1 x312 0 x313 0 x314 0 x315 0 x316 0 x317 0 x318 0 x319 0 x321 0 x322 0 x323 0 x324 0 x325 0 x326 0 x327 0 x328 0 x329 1 x331 0 x332 0 x333 0 x334 0 x335 0 x336 0 x337 0 x338 1 x339 0 x341 0 x342 0 x343 1 x344 0 x345 0 x346 0 x347 0 x348 0 x349 0 x351 0 x352 0 x353 0 x354 1 x355 0 x356 0 x357 0 x358 0 x359 0 x361 0 x362 1 x363 0 x364 0 x365 0 x366 0 x367 0 x368 0 x369 0 x371 0 x372 0 x373 0 x374 0 x375 1 x376 0 x377 0 x378 0 x379 0 x381 0 x382 0 x383 0 x384 0 x385 0 x386 1 x387 0 x388 0 x389 0 x391 0 x392 0 x393 0 x394 0 x395 0 x396 0 x397 1 x398 0 x399 0 x411 0 x412 0 x413 0 x414 0 x415 0 x416 0 x417 0 x418 1 x419 0 x421 0 x422 0 x423 0 x424 0 x425 1 x426 0 x427 0 x428 0 x429 0 x431 0 x432 0 x433 0 x434 0 x435 0 x436 0 x437 0 x438 0 x439 1 x441 0 x442 0 x443 0 x444 0 x445 0 x446 0 x447 1 x448 0 x449 0 x451 0 x452 0 x453 0 x454 0 x455 0 x456 1 x457 0 x458 0 x459 0 x461 1 x462 0 x463 0 x464 0 x465 0 x466 0 x467 0 x468 0 x469 0 x471 0 x472 0 x473 0 x474 1 x475 0 x476 0 x477 0 x478 0 x479 0 x481 0 x482 1 x483 0 x484 0 x485 0 x486 0 x487 0 x488 0 x489 0 x491 0 x492 0 x493 1 x494 0 x495 0 x496 0 x497 0 x498 0 x499 0 x511 0 x512 0 x513 0 x514 1 x515 0 x516 0 x517 0 x518 0 x519 0 x521 0 x522 1 x523 0 x524 0 x525 0 x526 0 x527 0 x528 0 x529 0 x531 0 x532 0 x533 0 x534 0 x535 0 x536 1 x537 0 x538 0 x539 0 x541 0 x542 0 x543 0 x544 0 x545 0 x546 0 x547 0 x548 1 x549 0 x551 0 x552 0 x553 0 x554 0 x555 1 x556 0 x557 0 x558 0 x559 0 x561 0 x562 0 x563 1 x564 0 x565 0 x566 0 x567 0 x568 0 x569 0 x571 0 x572 0 x573 0 x574 0 x575 0 x576 0 x577 1 x578 0 x579 0 x581 0 x582 0 x583 0 x584 0 x585 0 x586 0 x587 0 x588 0 x589 1 x591 1 x592 0 x593 0 x594 0 x595 0 x596 0 x597 0 x598 0 x599 0 x611 0 x612 0 x613 0 x614 0 x615 0 x616 0 x617 1 x618 0 x619 0 x621 1 x622 0 x623 0 x624 0 x625 0 x626 0 x627 0 x628 0 x629 0 x631 0 x632 0 x633 1 x634 0 x635 0 x636 0 x637 0 x638 0 x639 0 x641 0 x642 0 x643 0 x644 0 x645 0 x646 0 x647 0 x648 0 x649 1 x651 0 x652 1 x653 0 x654 0 x655 0 x656 0 x657 0 x658 0 x659 0 x661 0 x662 0 x663 0 x664 1 x665 0 x666 0 x667 0 x668 0 x669 0 x671 0 x672 0 x673 0 x674 0 x675 0 x676 0 x677 0 x678 1 x679 0 x681 0 x682 0 x683 0 x684 0 x685 1 x686 0 x687 0 x688 0 x689 0 x691 0 x692 0 x693 0 x694 0 x695 0 x696 1 x697 0 x698 0 x699 0 x711 0 x712 0 x713 0 x714 0 x715 0 x716 0 x717 0 x718 0 x719 1 x721 0 x722 0 x723 0 x724 0 x725 0 x726 1 x727 0 x728 0 x729 0 x731 1 x732 0 x733 0 x734 0 x735 0 x736 0 x737 0 x738 0 x739 0 x741 0 x742 0 x743 0 x744 0 x745 1 x746 0 x747 0 x748 0 x749 0 x751 0 x752 0 x753 1 x754 0 x755 0 x756 0 x757 0 x758 0 x759 0 x761 0 x762 0 x763 0 x764 0 x765 0 x766 0 x767 1 x768 0 x769 0 x771 0 x772 1 x773 0 x774 0 x775 0 x776 0 x777 0 x778 0 x779 0 x781 0 x782 0 x783 0 x784 0 x785 0 x786 0 x787 0 x788 1 x789 0 x791 0 x792 0 x793 0 x794 1 x795 0 x796 0 x797 0 x798 0 x799 0 x811 0 x812 1 x813 0 x814 0 x815 0 x816 0 x817 0 x818 0 x819 0 x821 0 x822 0 x823 0 x824 0 x825 0 x826 0 x827 0 x828 1 x829 0 x831 0 x832 0 x833 0 x834 0 x835 0 x836 0 x837 1 x838 0 x839 0 x841 0 x842 0 x843 0 x844 1 x845 0 x846 0 x847 0 x848 0 x849 0 x851 1 x852 0 x853 0 x854 0 x855 0 x856 0 x857 0 x858 0 x859 0 x861 0 x862 0 x863 0 x864 0 x865 0 x866 0 x867 0 x868 0 x869 1 x871 0 x872 0 x873 0 x874 0 x875 0 x876 1 x877 0 x878 0 x879 0 x881 0 x882 0 x883 1 x884 0 x885 0 x886 0 x887 0 x888 0 x889 0 x891 0 x892 0 x893 0 x894 0 x895 1 x896 0 x897 0 x898 0 x899 0 x911 0 x912 0 x913 1 x914 0 x915 0 x916 0 x917 0 x918 0 x919 0 x921 0 x922 0 x923 0 x924 1 x925 0 x926 0 x927 0 x928 0 x929 0 x931 0 x932 0 x933 0 x934 0 x935 1 x936 0 x937 0 x938 0 x939 0 x941 0 x942 1 x943 0 x944 0 x945 0 x946 0 x947 0 x948 0 x949 0 x951 0 x952 0 x953 0 x954 0 x955 0 x956 0 x957 0 x958 1 x959 0 x961 0 x962 0 x963 0 x964 0 x965 0 x966 1 x967 0 x968 0 x969 0 x971 1 x972 0 x973 0 x974 0 x975 0 x976 0 x977 0 x978 0 x979 0 x981 0 x982 0 x983 0 x984 0 x985 0 x986 0 x987 1 x988 0 x989 0 x991 0 x992 0 x993 0 x994 0 x995 0 x996 0 x997 0 x998 0 x999 1
!lp_solve -presolve sudoku.lp | grep "1$"
#len kde je jednotka na konci
x115 1 x123 1 x134 1 x146 1 x157 1 x168 1 x179 1 x181 1 x192 1 x216 1 x227 1 x232 1 x241 1 x259 1 x265 1 x273 1 x284 1 x298 1 x311 1 x329 1 x338 1 x343 1 x354 1 x362 1 x375 1 x386 1 x397 1 x418 1 x425 1 x439 1 x447 1 x456 1 x461 1 x474 1 x482 1 x493 1 x514 1 x522 1 x536 1 x548 1 x555 1 x563 1 x577 1 x589 1 x591 1 x617 1 x621 1 x633 1 x649 1 x652 1 x664 1 x678 1 x685 1 x696 1 x719 1 x726 1 x731 1 x745 1 x753 1 x767 1 x772 1 x788 1 x794 1 x812 1 x828 1 x837 1 x844 1 x851 1 x869 1 x876 1 x883 1 x895 1 x913 1 x924 1 x935 1 x942 1 x958 1 x966 1 x971 1 x987 1 x999 1
Pre každú vec jednu premennú $x_i$ ... 1 ak sme zobrali, 0 inak.
MAXimalizujeme:
$x_1 \cdot v_1 + x_2 \cdot v_2 + \cdots + x_n \cdot v_n \rightarrow \max$
Nosnosť:
$x_1 \cdot v_1 + x_2 \cdot v_2 + \cdots + x_n \cdot v_n \leq l$
Binárne premenné:
BINary $x_i$