home.social

#minizinc — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #minizinc, aggregated by home.social.

fetched live
  1. Ich habe ausprobiert, wie man eine typische Knobelaufgabe mit logischer Programmierung lösen kann: sebstein.hpfsc.de/2025/12/31/l

    #MiniZinc

  2. Ich habe ausprobiert, wie man eine typische Knobelaufgabe mit logischer Programmierung lösen kann: sebstein.hpfsc.de/2025/12/31/l

    #MiniZinc

  3. Ich habe ausprobiert, wie man eine typische Knobelaufgabe mit logischer Programmierung lösen kann: sebstein.hpfsc.de/2025/12/31/l

    #MiniZinc

  4. Ich habe ausprobiert, wie man eine typische Knobelaufgabe mit logischer Programmierung lösen kann: sebstein.hpfsc.de/2025/12/31/l

    #MiniZinc

  5. [Перевод] Решение головоломки NYTimes Pips с помощью решателя ограничений

    Кажется, что головоломка NYT Pips — это просто игра с домино и цветными клетками. Но если взглянуть на неё как на задачу удовлетворения ограничений, она превращается в удобный полигон для современных решателей вроде MiniZinc. В статье автор показывает, как описать Pips не в виде алгоритма перебора, а в виде системы ограничений: сетка, домино, суммы по областям, симметрии и «мусорные» решения. По ходу дела выясняется, что войти в мир constraint solving можно буквально за пару часов, а заодно на практике понять, почему эти инструменты умеют разруливать экспоненциальный хаос вариантов за миллисекунды — но иногда внезапно «залипают» на одной и той же головоломке. Читать разбор

    habr.com/ru/companies/otus/art

    #решатели_ограничений #MiniZinc #моделирование_ограничений #поиск_решений #бэктрекинг #оптимизация_перебора #головоломки #алгоритмическое_моделирование

  6. [Перевод] Решение головоломки NYTimes Pips с помощью решателя ограничений

    Кажется, что головоломка NYT Pips — это просто игра с домино и цветными клетками. Но если взглянуть на неё как на задачу удовлетворения ограничений, она превращается в удобный полигон для современных решателей вроде MiniZinc. В статье автор показывает, как описать Pips не в виде алгоритма перебора, а в виде системы ограничений: сетка, домино, суммы по областям, симметрии и «мусорные» решения. По ходу дела выясняется, что войти в мир constraint solving можно буквально за пару часов, а заодно на практике понять, почему эти инструменты умеют разруливать экспоненциальный хаос вариантов за миллисекунды — но иногда внезапно «залипают» на одной и той же головоломке. Читать разбор

    habr.com/ru/companies/otus/art

    #решатели_ограничений #MiniZinc #моделирование_ограничений #поиск_решений #бэктрекинг #оптимизация_перебора #головоломки #алгоритмическое_моделирование

  7. [Перевод] Многие сложные задачи на LeetCode — это простые задачи на ограничения

    Иногда впечатление от алгоритмических задач такое, будто вас просят не решать проблему, а угадать «правильный» трюк из головы автора. В этой статье мы посмотрим на те же самые leetcode-подобные задачи глазами человека, который устал изобретать стеки и динамику на собеседовании и попробовал формулировать их как задачу оптимизации для солвера ограничений. Разбираем, как привычные «найди максимум при таких-то условиях» превращаются в компактные декларативные модели, зачем вообще нужны такие упражнения, что они говорят о собеседованиях и о нашем отношении к алгоритмам — и где у подхода с MiniZinc/constraint solving проходят естественные границы. Смотреть подход

    habr.com/ru/companies/otus/art

    #задачи #leetcode #алгоритмы #задачи_на_ограничения #временная_сложность #MiniZinc #солвер_ограничений #оптимизация_задач #собеседование_разработчика #алгоритмические_задачи

  8. [Перевод] Многие сложные задачи на LeetCode — это простые задачи на ограничения

    Иногда впечатление от алгоритмических задач такое, будто вас просят не решать проблему, а угадать «правильный» трюк из головы автора. В этой статье мы посмотрим на те же самые leetcode-подобные задачи глазами человека, который устал изобретать стеки и динамику на собеседовании и попробовал формулировать их как задачу оптимизации для солвера ограничений. Разбираем, как привычные «найди максимум при таких-то условиях» превращаются в компактные декларативные модели, зачем вообще нужны такие упражнения, что они говорят о собеседованиях и о нашем отношении к алгоритмам — и где у подхода с MiniZinc/constraint solving проходят естественные границы. Смотреть подход

    habr.com/ru/companies/otus/art

    #задачи #leetcode #алгоритмы #задачи_на_ограничения #временная_сложность #MiniZinc #солвер_ограничений #оптимизация_задач #собеседование_разработчика #алгоритмические_задачи

  9. Hai tất cả! Một bài đăng mới trên Reddit giới thiệu cách ứng dụng quy hoạch lịch làm việc theo bờ tròn trong MiniZinc. Nó giúp tối ưu hóa phân bổ nhân lực với cách phối hợp thời gian làm việc dài hạn. Tham gia язык vào cuộc thảo luận về nghiệm pháp coast this cam kết mã nguồn mở! #MiniZinc #QuyHóaLịchLàmViệc #MãNguồnMở #LậpTrình #Technology #TechTalk #Programming #OpenSource

    reddit.com/r/programming/comme

  10. Hai tất cả! Một bài đăng mới trên Reddit giới thiệu cách ứng dụng quy hoạch lịch làm việc theo bờ tròn trong MiniZinc. Nó giúp tối ưu hóa phân bổ nhân lực với cách phối hợp thời gian làm việc dài hạn. Tham gia язык vào cuộc thảo luận về nghiệm pháp coast this cam kết mã nguồn mở! #MiniZinc #QuyHóaLịchLàmViệc #MãNguồnMở #LậpTrình #Technology #TechTalk #Programming #OpenSource

    reddit.com/r/programming/comme

  11. 🚀 Wow, what a thrill! An article about squeezing workforce schedules into #MiniZinc. Because nothing screams excitement like cactus plots and footnotes on night shifts! 🌵🌙
    zayenz.se/blog/post/rotating-w #CactusPlots #WorkforceScheduling #NightShifts #ExcitingData #HackerNews #ngated

  12. 🚀 Wow, what a thrill! An article about squeezing workforce schedules into #MiniZinc. Because nothing screams excitement like cactus plots and footnotes on night shifts! 🌵🌙
    zayenz.se/blog/post/rotating-w #CactusPlots #WorkforceScheduling #NightShifts #ExcitingData #HackerNews #ngated

  13. 🚀 Wow, what a thrill! An article about squeezing workforce schedules into #MiniZinc. Because nothing screams excitement like cactus plots and footnotes on night shifts! 🌵🌙
    zayenz.se/blog/post/rotating-w #CactusPlots #WorkforceScheduling #NightShifts #ExcitingData #HackerNews #ngated

  14. 🚀 Wow, what a thrill! An article about squeezing workforce schedules into #MiniZinc. Because nothing screams excitement like cactus plots and footnotes on night shifts! 🌵🌙
    zayenz.se/blog/post/rotating-w #CactusPlots #WorkforceScheduling #NightShifts #ExcitingData #HackerNews #ngated

  15. CW: кусок простого кода на солвере minizinc

    ```
    include "alldifferent.mzn";
    % решает ребус
    % KOTKA + KOTKA + KOTKA = SOBAKA

    var 1..9: K;
    var 1..9: S;
    var 0..9: O;
    var 0..9: T;
    var 0..9: A;
    var 0..9: B;

    constraint 3*(10000*K + 1000*O + 100*T + 10*K + 1*A) = 100000*S + 10000*O + 1000*B + 100*A + 10*K + 1*A;

    constraint alldifferent([K, O, T, A, S, B]);

    solve satisfy;

    output [" \(K)\(O)\(T)\(K)\(A)*3 =\n",
    "= \(S)\(O)\(B)\(A)\(K)\(A)\n"];

    ```

    #minizinc

  16. Начал изучать солверы
    после какой-то статьи с лобсте.рс, с месседжем "солверы могут решать значительную часть сложного литкода (хоть и не максимально быстро и без прогнозов скорости), и решение легко адаптируется к изменению требований"

    Не вижу, где это можно применить мне; теоретически, можно попробовать сделать декларативный язык программирования для создания музыки (где ты накладываешь на мелодию ограничения, выбираешь сид и тебе генерируется мелодия)... Ещё всё лелею идею на работе сделать планировщик, который бы работал на солвере, но это так (я не хочу тут где работаю сейчас работать программистом а не QA)

    buttondown.com/hillelwayne/arc

    #Solvers #MiniZinc #Солверы #Миницинк #SAT #САТ #лытдыбр

  17. Начал изучать солверы
    после какой-то статьи с лобсте.рс, с месседжем "солверы могут решать значительную часть сложного литкода (хоть и не максимально быстро и без прогнозов скорости), и решение легко адаптируется к изменению требований"

    Не вижу, где это можно применить мне; теоретически, можно попробовать сделать декларативный язык программирования для создания музыки (где ты накладываешь на мелодию ограничения, выбираешь сид и тебе генерируется мелодия)... Ещё всё лелею идею на работе сделать планировщик, который бы работал на солвере, но это так (я не хочу тут где работаю сейчас работать программистом а не QA)

    buttondown.com/hillelwayne/arc

    #Solvers #MiniZinc #Солверы #Миницинк #SAT #САТ #лытдыбр

  18. @joshg Took a few minutes to type in, but it’s not egregious, the logic is straightforward and can be solved by hand easily. But it’s more instructive this way:

    include "alldifferent.mzn";

    % Two lists of ints between 1 and 5, both inclusive
    % One we'll use for the indices of the matrix cell coordinates, and the other for cell values.
    set of int: COORD = 1..5;
    set of int: VALUE = 1..5;

    % Define a matrix, which is a 2-dimensional array with indices for its cells
    % defined by COORD, so between 1 and 5, where each matrix cell
    % takes any value of those defined in the list VALUE:
    array[COORD,COORD] of var VALUE: v;

    % All different in rows: the 'j' coordinate advances in the column
    constraint forall(i,j in v)(
    alldifferent([v[i,j] | j in VALUE]));

    % All different in columns: the 'i' coordinate advances in the row
    constraint forall(i,j in v)(
    alldifferent([v[i,j] | i in VALUE]));

    % All the groups of cells that add up to 10,
    % using either sums (+ sign) or multiplications (* sign)
    constraint v[1,1] + v[1,2] + v[1,3] + v[1,4] = 10;
    constraint v[1,5] + v[2,5] + v[3,5] = 10;
    constraint v[2,1] + v[2,2] + v[3,1] = 10;
    constraint v[2,3] * v[2,4] * v[3,4] = 10;
    constraint v[3,2] + v[3,3] + v[4,2] = 10;
    constraint v[4,1] + v[5,1] + v[5,2] = 10;
    constraint v[4,3] + v[5,3] + v[5,4] + v[5,5] = 10;
    constraint v[4,4] * v[4,5] = 10;

    solve satisfy;

    #CSP #minizinc

  19. @joshg Took a few minutes to type in, but it’s not egregious, the logic is straightforward and can be solved by hand easily. But it’s more instructive this way:

    include "alldifferent.mzn";

    % Two lists of ints between 1 and 5, both inclusive
    % One we'll use for the indices of the matrix cell coordinates, and the other for cell values.
    set of int: COORD = 1..5;
    set of int: VALUE = 1..5;

    % Define a matrix, which is a 2-dimensional array with indices for its cells
    % defined by COORD, so between 1 and 5, where each matrix cell
    % takes any value of those defined in the list VALUE:
    array[COORD,COORD] of var VALUE: v;

    % All different in rows: the 'j' coordinate advances in the column
    constraint forall(i,j in v)(
    alldifferent([v[i,j] | j in VALUE]));

    % All different in columns: the 'i' coordinate advances in the row
    constraint forall(i,j in v)(
    alldifferent([v[i,j] | i in VALUE]));

    % All the groups of cells that add up to 10,
    % using either sums (+ sign) or multiplications (* sign)
    constraint v[1,1] + v[1,2] + v[1,3] + v[1,4] = 10;
    constraint v[1,5] + v[2,5] + v[3,5] = 10;
    constraint v[2,1] + v[2,2] + v[3,1] = 10;
    constraint v[2,3] * v[2,4] * v[3,4] = 10;
    constraint v[3,2] + v[3,3] + v[4,2] = 10;
    constraint v[4,1] + v[5,1] + v[5,2] = 10;
    constraint v[4,3] + v[5,3] + v[5,4] + v[5,5] = 10;
    constraint v[4,4] * v[4,5] = 10;

    solve satisfy;

    #CSP #minizinc

  20. @joshg Took a few minutes to type in, but it’s not egregious, the logic is straightforward and can be solved by hand easily. But it’s more instructive this way:

    include "alldifferent.mzn";

    % Two lists of ints between 1 and 5, both inclusive
    % One we'll use for the indices of the matrix cell coordinates, and the other for cell values.
    set of int: COORD = 1..5;
    set of int: VALUE = 1..5;

    % Define a matrix, which is a 2-dimensional array with indices for its cells
    % defined by COORD, so between 1 and 5, where each matrix cell
    % takes any value of those defined in the list VALUE:
    array[COORD,COORD] of var VALUE: v;

    % All different in rows: the 'j' coordinate advances in the column
    constraint forall(i,j in v)(
    alldifferent([v[i,j] | j in VALUE]));

    % All different in columns: the 'i' coordinate advances in the row
    constraint forall(i,j in v)(
    alldifferent([v[i,j] | i in VALUE]));

    % All the groups of cells that add up to 10,
    % using either sums (+ sign) or multiplications (* sign)
    constraint v[1,1] + v[1,2] + v[1,3] + v[1,4] = 10;
    constraint v[1,5] + v[2,5] + v[3,5] = 10;
    constraint v[2,1] + v[2,2] + v[3,1] = 10;
    constraint v[2,3] * v[2,4] * v[3,4] = 10;
    constraint v[3,2] + v[3,3] + v[4,2] = 10;
    constraint v[4,1] + v[5,1] + v[5,2] = 10;
    constraint v[4,3] + v[5,3] + v[5,4] + v[5,5] = 10;
    constraint v[4,4] * v[4,5] = 10;

    solve satisfy;

    #CSP #minizinc

  21. @joshg Took a few minutes to type in, but it’s not egregious, the logic is straightforward and can be solved by hand easily. But it’s more instructive this way:

    include "alldifferent.mzn";

    % Two lists of ints between 1 and 5, both inclusive
    % One we'll use for the indices of the matrix cell coordinates, and the other for cell values.
    set of int: COORD = 1..5;
    set of int: VALUE = 1..5;

    % Define a matrix, which is a 2-dimensional array with indices for its cells
    % defined by COORD, so between 1 and 5, where each matrix cell
    % takes any value of those defined in the list VALUE:
    array[COORD,COORD] of var VALUE: v;

    % All different in rows: the 'j' coordinate advances in the column
    constraint forall(i,j in v)(
    alldifferent([v[i,j] | j in VALUE]));

    % All different in columns: the 'i' coordinate advances in the row
    constraint forall(i,j in v)(
    alldifferent([v[i,j] | i in VALUE]));

    % All the groups of cells that add up to 10,
    % using either sums (+ sign) or multiplications (* sign)
    constraint v[1,1] + v[1,2] + v[1,3] + v[1,4] = 10;
    constraint v[1,5] + v[2,5] + v[3,5] = 10;
    constraint v[2,1] + v[2,2] + v[3,1] = 10;
    constraint v[2,3] * v[2,4] * v[3,4] = 10;
    constraint v[3,2] + v[3,3] + v[4,2] = 10;
    constraint v[4,1] + v[5,1] + v[5,2] = 10;
    constraint v[4,3] + v[5,3] + v[5,4] + v[5,5] = 10;
    constraint v[4,4] * v[4,5] = 10;

    solve satisfy;

    #CSP #minizinc

  22. Because of our Eureka Prize nomination, the MiniZinc team was interviewed by the ARDC. Learn about some MiniZinc projects, and our perspective on MiniZinc and its development: ardc.edu.au/article/shaping-re

  23. 📣 MiniZinc 2.8.6 is here! 🎉

    This release includes various bug fixes and improvements. See the full changelog here: docs.minizinc.dev/en/2.8.6/cha

    Upgrade now and start modelling! 🚀

    #MiniZinc #ConstraintModelling #Optimization #ORMS

  24. 📣 MiniZinc 2.8.6 is here! 🎉

    This release includes various bug fixes and improvements. See the full changelog here: docs.minizinc.dev/en/2.8.6/cha

    Upgrade now and start modelling! 🚀

  25. 📣 MiniZinc 2.8.6 is here! 🎉

    This release includes various bug fixes and improvements. See the full changelog here: docs.minizinc.dev/en/2.8.6/cha

    Upgrade now and start modelling! 🚀

    #MiniZinc #ConstraintModelling #Optimization #ORMS

  26. 📣 MiniZinc 2.8.6 is here! 🎉

    This release includes various bug fixes and improvements. See the full changelog here: docs.minizinc.dev/en/2.8.6/cha

    Upgrade now and start modelling! 🚀

    #MiniZinc #ConstraintModelling #Optimization #ORMS

  27. The full MiniZinc challenge results are now available on the website: minizinc.org/challenge/2024/re

    Thank you to all the dedicated solver creators that competed in the competition!

    #MiniZinc #ConstraintModelling #Optimization

  28. The full MiniZinc challenge results are now available on the website: minizinc.org/challenge/2024/re

    Thank you to all the dedicated solver creators that competed in the competition!

  29. The full MiniZinc challenge results are now available on the website: minizinc.org/challenge/2024/re

    Thank you to all the dedicated solver creators that competed in the competition!

    #MiniZinc #ConstraintModelling #Optimization

  30. The full MiniZinc challenge results are now available on the website: minizinc.org/challenge/2024/re

    Thank you to all the dedicated solver creators that competed in the competition!

    #MiniZinc #ConstraintModelling #Optimization

  31. The MiniZinc Challenge results will be announced soon! 🥳

    mastodon.acm.org/@cp_conf/1130

  32. I’m excited to share that the core MiniZinc team is one of the finalists for the 2024 Eureka Prize for Excellence in Research Software. It’s an honour to be shortlisted for such a prestigious award.

    youtu.be/a4IMa5MjAGo?si=52NzR4

    #MiniZinc #ConstraintModelling #EurekaPrizes

  33. I’m excited to share that the core MiniZinc team is one of the finalists for the 2024 Eureka Prize for Excellence in Research Software. It’s an honour to be shortlisted for such a prestigious award.

    youtu.be/a4IMa5MjAGo?si=52NzR4

  34. I’m excited to share that the core MiniZinc team is one of the finalists for the 2024 Eureka Prize for Excellence in Research Software. It’s an honour to be shortlisted for such a prestigious award.

    youtu.be/a4IMa5MjAGo?si=52NzR4

    #MiniZinc #ConstraintModelling #EurekaPrizes

  35. I’m excited to share that the core MiniZinc team is one of the finalists for the 2024 Eureka Prize for Excellence in Research Software. It’s an honour to be shortlisted for such a prestigious award.

    youtu.be/a4IMa5MjAGo?si=52NzR4

    #MiniZinc #ConstraintModelling #EurekaPrizes

  36. Congrats to the finalists for the Eureka Prize for Excellence in Research Software, developing and maintaining , MRtrix3 and

    This prize recognises and celebrates those who develop and maintain software in Australia that underpins research and scientific discovery.
    ardc.edu.au/article/finalists-

  37. Congrats to the finalists for the Eureka Prize for Excellence in Research Software, developing and maintaining #MiniZinc, MRtrix3 and #limma

    This prize recognises and celebrates those who develop and maintain software in Australia that underpins research and scientific discovery.
    ardc.edu.au/article/finalists-

  38. Congrats to the finalists for the Eureka Prize for Excellence in Research Software, developing and maintaining #MiniZinc, MRtrix3 and #limma

    This prize recognises and celebrates those who develop and maintain software in Australia that underpins research and scientific discovery.
    ardc.edu.au/article/finalists-

  39. Has anyone noticed yet that the MiniZinc documentation has moved to @readthedocs ?

    It is now easier than ever to navigate between different versions of the documentation. docs.minizinc.dev/

    #MiniZinc #documentation

  40. Has anyone noticed yet that the MiniZinc documentation has moved to @readthedocs ?

    It is now easier than ever to navigate between different versions of the documentation. docs.minizinc.dev/

  41. Has anyone noticed yet that the MiniZinc documentation has moved to @readthedocs ?

    It is now easier than ever to navigate between different versions of the documentation. docs.minizinc.dev/

    #MiniZinc #documentation

  42. Has anyone noticed yet that the MiniZinc documentation has moved to @readthedocs ?

    It is now easier than ever to navigate between different versions of the documentation. docs.minizinc.dev/

    #MiniZinc #documentation

  43. I really like the small optimizations I merged into MiniZinc. When you use the `in` or inequality operators on records or tuples, then the compiler will automatically try and create `table` or `lex_less(eq)` constraints. 🙌

    #MiniZinc #SmallWins

  44. I really like the small optimizations I merged into MiniZinc. When you use the `in` or inequality operators on records or tuples, then the compiler will automatically try and create `table` or `lex_less(eq)` constraints. 🙌

  45. I really like the small optimizations I merged into MiniZinc. When you use the `in` or inequality operators on records or tuples, then the compiler will automatically try and create `table` or `lex_less(eq)` constraints. 🙌

    #MiniZinc #SmallWins

  46. I really like the small optimizations I merged into MiniZinc. When you use the `in` or inequality operators on records or tuples, then the compiler will automatically try and create `table` or `lex_less(eq)` constraints. 🙌

    #MiniZinc #SmallWins