Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

I'm in the preliminary stages of authoring a "schedule optimization" program. Basically, I'd like it to parse a database of recurrent events and compute possible combinations based on date, time, and possibly other constraints.

I've tried both CPAN and google searches with minimal results. Are there any existing codes/modules which might be applicable or perhaps serve a similar function?

There seem to be a variety of modules which might be applicable -- but nothing directly. For example, the mathematical permutation and combination modules seem apt, yet I haven't figured out how to compensate for date spans, particularly for multiday events (eg MWF, TTh, etc).

There are a few alternate possibilities -- try to implement the behavior in SQL or write my own code from scratch. Given a well designed database SQL may be the best choice, but that still leaves the problem of linked events (eg Event B subsequent to Event A).

Even if I were to use SQL, I'm not quite sure how to combine the dates with the Math::Combinatorics.

Lastly, test-driven development seems prudent; however I'm not quite sure which tests are necessary. For example, given the objective, I'd test for time conflicts and verification of other constraints -- but beyond that I'm not sure.

In reply to Schedule Optimization by eibwen

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others imbibing at the Monastery: (9)
    As of 2020-06-02 09:05 GMT
    Find Nodes?
      Voting Booth?
      Do you really want to know if there is extraterrestrial life?

      Results (16 votes). Check out past polls.