programaÇÃo por restriÇÃo: uma soluÇÃo para resolver problemas de organizaÇÃo de horÁrios

Upload: daniel-marinho-brelin

Post on 07-Jul-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    1/44

     

    FACULDADE PITÁGORASCURSO DE CIÊNCIA DA COMPUTAÇÃO

    PAULA MYRIAN LIMA PEDROSO 

    PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVERPROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    São Luís2014

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    2/44

     

    PAULA MYRIAN LIMA PEDROSO

    PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER

    PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    Monog!"#! !$%s%n&!'! !o Cuso '% C#(n)#! '!Co*$u&!+ão '! F!)u,'!'% P#&-go!s. $!!o/&%n+ão 'o g!u '% !)!%, %* C#(n)#! '!Co*$u&!+ãoO#%n&!'o3 T#!go N%,son F!#! 'os R%#s

    São Luís2014

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    3/44

     

    PAULA MYRIAN LIMA PEDROSO

    PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVERPROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    Monog!"#! !$%s%n&!'! !o Cuso '%C#(n)#! '! Co*$u&!+ão '! F!)u,'!'%P#&-go!s. $!! o/&%n+ão 'o g!u '%!)!%, %* C#(n)#! '! Co*$u&!+ão

    A$o!'o %*3 15 6 12 6 2014

    Po" T#!go N%,son F!#! 'os R%#s 7O#%n&!'o8F!)u,'!'% P#&-go!s

    Po" A,#n% Lo$%s '! S#,!F!)u,'!'% P#&-go!s

    Po" A,,#sson 9og% S#,! A,*%#'!F!)u,'!'% P#&-go!s

    Po" A,%:! '% C!ss#! P%%#! P#%sF!)u,'!'% P#&-go!s

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    4/44

     

    AGRADECIMENTOS

    Ag!'%+o $#*%#!*%n&% ! D%us $o su! #n"#n#&! /on'!'% % )u#'!'o )o*#go

    Aos *%us $!#s. L%n% % P!u,o. $o *% $o$o)#on!%* su$o&% %*o)#on!, %"#n!n)%#o Ao *%u $o"%sso o#%n&!'o T#!go N%,son. $o *% gu#! nos )!*#nos

    $!! ! $%s;u#s!. $o su! $!)#(n)#! % '%'#)!+ão. !o $o"%sso C,

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    5/44

     

    @Não !/!n'on% ! s!/%'o#!. % %,! o $o&%g%- !*%B!. % %,! )u#'!- '% o)(

    Po

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    6/44

     

    RESUMO

    P%,o %s&u'o '! In&%,#g(n)#! A"#)#!, < $ossí%, ! %so,u+ão '% $o/,%*!s

    !n&%s %!,#!'os so*%n&% $%,o s% u*!no % ;u% !go! são %so,#'os '% "o*!*!#s -$#'! u,#!n'o *%)!n#s*os )o*$u&!)#on!#s Co* /!s% n! -%! '%

    Co*$u&!+ão %s&#! '! In&%,#g(n)#! A"#)#!,. o $%s%n&% %s&u'o *os&! u*!

    so,u+ão $!! %so,% o $o/,%*! '! )#!+ão ou og!n#!+ão '! g!'% '% o-#os

    'os $o"%sso%s. #s!n'o *%,o! o '%s%*$%no 'os )oo'%n!'o%s %* su!s

    &!%"!s São %!,#!'os %s&u'os so/% ! o#g%* '! In&%,#g(n)#! A"#)#!,. su!s

    su/'##s=%s %. '% "o*! *!#s '%&!,!'!. os Po/,%*!s '% S!s"!+ão '% R%s&#+ão.

    ;u% < o *

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    7/44

     

    ASTRACT

    T% s&u': o" A"#)#!, In&%,,#g%n)% #s $oss#/,% &o so,% $o/,%*s /%"o%

    $%"o*%' on,: /: u*!ns !n' !% no %so,%' *o% ;u#),: us#ng )o*$u&!on!,*%)!n#s*s !s%' on %s&#)% Co*$u&% S)#%n)% A"#)#!, In&%,,#g%n)%. &#s s&u':

    sos ! so,uon &o so,% &% $o/,%* o" )%!ng o og!n#!on T%!)%s s)%'u,%

    g#'. &o #*$o% &% $%"o*!n)% o" &% )oo'#n!&os #n &%# &!ss S&u'#%s !%

    )on'u)&%' on &% o#g#n o" A"#)#!, In&%,,#g%n)%. #&s su/'##s#ons !n'. #n *o% '%&!#,.

    &% Cons&!#n& S!s"!)on Po/,%*s. #) #s &% /!s% *%&o' "o &% &%!&*%n& o"

    &% $%)u,#!#%s #n &% og!n#!on o" $o/,%* #n &% g#' o" &% *%s !n' &o /%

    !$$,#%' #n &% '%%,o$*%n& so"&!% &#s o &oug &% $og!**#ng $!!'#g* "o

    %s&#)on #n o'% &o !u&o*!&% &% &!s o" og!n##ng &% s)%'u,%s. &o %nsu% !g#,#&:

    #n &#s $o)%ss T% !#* #s !,so &o s&u': s$%)#"#) ,#/!: "o &% us% o" %s&#)ons #n

    &#s )!s% &% Co)o ,#/!:. #) !s us%' #n &% $og!* #*$,%*%n&!on s&!g%

    Tus. &% %su,&s o/&!#n%' #& &% so"&!% "u,"#,,%' !& !s $o$os%' /%)!us%

    &%% !s ! $o$% o s)%'u,#ng !n' !!#,!/#,#&: o" &%!)%s F#n!,,:. &%

    $og!**#ng %s&#)on !s *%& &% n%%'s %;u#%' "o &% '%)o*$os#on o" !

    )o*$,% s:s&%* #& s#*$,% us%s

    J%:o's3 Og!n#!on o" s)%'u,%s. A"#)#!, In&%,,#g%n)%. Cons&!#n& S!s"!)on

    Po/,%*s. Cons&!#n& Pog!**#ng. Co)o

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    8/44

     

    LISTA DE FIGURAS

    F#gu! 1 K Mo'%,o 'o &%s&% '% Tu#ng14

    F#gu! 2 K A;u#&%&u! g%n

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    9/44

     

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    10/44

     

    LISTA DE SIGLAS

    IA K In&%,#g(n)#! A"#)#!,

    PSR K Po/,%*!s '% S!s"!+ão '% R%s&#+=%sID K n'#)%

    PR K Pog!*!+ão $o R%s&#+ão

    SD K %%,%: So"&!% D#s&#/uon L#)%ns%

    OCRE K Ou, Con&!#n&%s $ou ,! R%)%)% %& ,Ens%#gn%*%n&

    API K A$$,#)!on Pog!**#ng In&%"!)%

    PD K P%s;u#s! % D%s%no,#*%n&o

    NASA K N!on!, A%on!u)s !n' S$!)% A'*#n#s&!on

    DNA K D%o:#/onu),%#) A)#'

    D K !n)o '% D!'os

    SGD K S#s&%*! '% G%%n)#!*%n&o '% !n)o '% D!'os

    SQL K S&u)&u%' Qu%: L!ngu!g%

    IDE K In&%g!&%' D%%,o$*%n& En#on*%n&

    DER K D#!g!*! '% En'!'% % R%,!)#on!*%n&o

    POO K Pog!*!+ão O#%n&!'! ! O/?%&os

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    11/44

     

    SUMÁRIO

    INTRODUÇÃO  11 

    INTELIGÊNCIA ARTIFICIAL  1 2.1 Compo!"m#$!o I$!#%&'#$!#  14 

    2.2 M()*&$" # S# H*m"$o  1 

    2.+ A'#$!#  15 

    2., R#-o%# Po/%#m"-  1 

    PROBLEMAS DE SATISFAÇÃO DE RESTRIÇÃO  1 

    +.1 D#0&$&1#- 3# Po/%#m"- 3# S"!&-0"14o 3# R#-!&14o  1 

    +.2 R#p#-#$!"1#- 3o Po/%#m" 3# S"!&-0"14o 3# R#-!&14o  20 

    +.+ T&po- 3# V"&(#&-  21 +., T&po- 3# R#-!&1#-  22 

    +.5 Dom6$&o- F&$&!o-  22 

    1 us)! )o* R%&o)%sso 22 

    2 us)! Lo)!, 22 

    Po$!g!+ão '% R%s&#+ão 2 

    +.7 E-!*!*" 3# *m Po/%#m" R#-!&!&o  2 

    PROGRAMAÇÃO POR RESTRIÇÃO  24 

    ,.1 Mo3#%"$3o o po/%#m"  24 

    ,.2 M8!o3o- 3# So%*14o  24 

    ,.+ Po'"m"14o R#-!&!&" # Po/%#m"- 3# S"!&-0"14o 3# R#-!&1#-  2 

    ,., R#-o%*14o 3# po/%#m"-  2 

    ,.5 B&/%&o!#9" Co9o 25 

    41 H#s&V#! 25 

    42 C!!)&%ís)!s '! Co)o 2 

    4 P!)u,!#'!'% '! Co)o 2 

    ,.7 U!&%&;"1#- 3# Po'"m"14o po R#-!&14o  2 

    ,.< V"$!"'#$- 3# *!&%&;" Po'"m"14o R#-!&!&"  2 

    ,.= L&m&!"1#- 3" Po'"m"14o R#-!&!&"  2 

    ESTUDO DE CASO: S>EDULER  0 

    5.1 E%"/o"14o 3o Po/%#m"  0 

    5.2 B"$9o 3# D"3o-  1 

    5.+ Imp%#m#$!"14o 3o E-!*3o 3# C"-o   

    1 A*/#%n&% '% Pog!*!+ão 79AWA8 4 

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    12/44

     

    2 I*$o&!n'o ! /#/,#o&%)! Co)o 4 

    C#!n'o o *o'%,o % ! so,u+ão  

    5., T#-!#-  5 

    5.5 R#-*%!"3o-   

    CONCLUSÃO  40 

    REFERÊNCIAS  41 

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    13/44

    11

    1  INTRODUÇÃO

    To'o #ní)#o '% /#*%s&% %* u*! "!)u,'!'% ou un#%s#'!'%. %#s&% !

    n%)%ss#'!'% '% og!n#! os o-#os 'os $o"%sso%s )o* su!s %s$%)!s'#s)#$,#n!s ;u% #ão ,%)#on! P%s;u#s!s )o* /!s% no INEP. Ins&u&o N!)#on!, '%

    Es&u'os % P%s;u#s!s E'u)!)#on!#s. !"#*!* ;u% ou% u* !u*%n&o '% 1X '%

    $%sso!s *!&#)u,!'!s %* %ns#no su$%#o %n&% 200 % 2012. )o* &%n'(n)#!s '%

    !u*%n&o !#n'! *!#o Co* /!s% nos '!'os '%s&! $%s;u#s!. %ss% !u*%n&o 'o

    nY*%o '% #ng%ssos &on! ! &!%"! '% '#s&#/u#+ão '% $o"%sso%s /!s&!n&%

    )o*$,%!. %#'%n)#!n'o os s%gu#n&%s #*$!ss%s3 '#s$on#/#,#'!'% '% o-#o '% )!'!

    $o"%sso. !"#n#'!'% $!! '%&%*#n!'! '#s)#$,#n! % ;u!n'!'% '% &u*!s $!! )!'!

    )usoC!'! #ns&u#+ão '% %ns#no $ossu# su! "o*! '% og!n#! os o-#os 'os

    $o"%sso%s. s%n'o "%;u%n&%*%n&% '% "o*! não !u&o*-)!. '%*!n'!n'o &%*$o %

    '#s$on#/#,#'!'% &!n&o 'os $o"%sso%s ;u!n&o 'os )oo'%n!'o%s '% )uso Ess% $o

    '% og!n#!+ão *u#&! '!s %%s s% &on! #n)ons#s&%n&%. $o#s os )oo'%n!'o%s

    %n)on&!* '#"#)u,'!'%s n! '%"#n#+ão 'os o-#os 'os $o"%sso%s

    A "#* '% so,u)#on! &!, $o/,%*!. < n%)%ss-#! ! )#!+ão '% u* so"&!%

    ;u% s%?! )!$! "!% !s '##s=%s 'os o-#os '% !)o'o )o* !s $!)u,!#'!'%s '%

    )!'! 'o)%n&% % )uso En&%&!n&o. %ss% s#s&%*! '%% s% "%#&o '% "o*! !'!$&!!

    $!! $o'% s!s"!% os *!#s '#"%%n&%s %;u#s#&os ;u% $o'%* # ! %#s

    U*! so,u+ão $!! %ss% $o/,%*! < ! u,#!+ão '! $og!*!+ão $o

    %s&#+ão. u* $!!'#g*! ;u% u,#! *

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    14/44

    12

    N! &%)%#! s%ão !$%s%n&!'os *

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    15/44

    1

    2 INTELIGÊNCIA ARTIFICIAL

    O )!*$o '! In&%,#g(n)#! A"#)#!, 7IA8 u,#! &

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    16/44

    14

     ?ogos '% !'%. '%*ons&!+ão '% &%o%*!s *!&%*-)os. )#!+ão '% $o%s#! %

    '#!gnVs)o '% 'o%n+!s 7RUSSELL. NORWING 20048

    2.1 Compo!"m#$!o I$!#%&'#$!#

    In&%,#g(n)#! '% !)o'o )o* o '#)#on-#o s#gn#"#)! "!)u,'!'% '% %n&%n'%.

    $%ns!. !)#o)#n! % #n&%$%&! ou )!$!)#'!'% '% %so,% s#&u!+=%s no!s )o*

    !$#'% % (#&o No %n&!n&o. )o*o "!%*os $!! ;u% u* s#s&%*! ou u*! *-;u#n!

    $oss! o/&% u* )o*$o&!*%n&o #n&%,#g%n&%[

    Co*o "o*! '% '%*ons&!+ão 'o )!*$o '% !&u!+ão. A,!n Tu#ng 7108

    $u/,#)ou u* 'os $#*%#os !gos )o* %,!+ão ! IA Su! $o$os&! %! $o! ;u%

    u*! *-;u#n! $o'%#! s% &ão #n&%,#g%n&% ! $on&o '% s% )on"un'#'! )o* o $%ns! '%

    u* s% u*!no E,% $o$Zs u* &%s&% ;u% *%'#! o '%s%*$%no '% u*! *-;u#n!)ons#'%!'! #n&%,#g%n&% % o )o*$!! !o !)#o)ín#o '% u*! $%sso!. )o*o

    %$%s%n&!'o n! F#gu! 1

    F&'*" 1: Mo'%,o 'o &%s&% '% Tu#ng

    Fo$!#: &&$366no&!$os#!)o*6$&6&/%s&/s6"#,oso"#!611\#n&%,%g%n)#!\!"#)#!,\'&*

    O &%s&% %! )o*$os&o $o 'u!s $%sso!s % u*! *-;u#n!. on'% u*!

    $%sso! $ossuí! ! "un+ão '% #n&%og! ! *-;u#n! % ! ou&! $%sso!. s%n'o ;u% os

    &(s %s&!#!* %* s!,!s s%$!!'!s. !ss#* )o*o n! F#gu! 1 A "un+ão 'o

    #n&%og!'o %! "!% $%gun&!s % &%n&! '%s)o/# ;u%* %! ! *-;u#n! P!! Tu#ng

    7108. ! *-;u#n! s%#! )ons#'%!'! #n&%,#g%n&% s% o #n&%og!'o não )ons%gu#ss%

    '#"%%n)#! !s %s$os&!s '!'!s $%,o s% u*!no '!s "on%)#'!s $%,! *-;u#n!

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    17/44

    1

    P!! !)%s)%n&!. Lug% 720048 !"#*! ;u%3

    Tu#ng &!*/

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    18/44

    15

    A IA < u*! )#(n)#! )o*$os&! $o -#!s '#s)#$,#n!s 7)o*o '#&o

    !n&%#o*%n&%8 %. )ons%;u%n&%*%n&%. < !$,#)!'! %* -#!s "un+=%s ;u% %no,%*

     ?ogos. !)#o)ín#o !u&o*-)o. o/V)!. %'%s n%u!#s. g%n

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    19/44

    1

    Os !g%n&%s /!s%!'os %* o/?%os u,#!* u* "o)o ! s% s%gu#'o. ou

    s%?!. u* $o$Vs#&o Os !g%n&%s /!s%!'os n! u,#'!'% /us)!* '%"#n# u*! $#o#'!'%

    $!! '%&%*#n!'! !+ão E os !g%n&%s )o* !$%n'#!'o são !;u%,%s ;u% &%* !

    )!$!)#'!'% '% %s&u'! o !*/#%n&% $!! $o'% s% !'%;u! ! %,%

    Ao )ons&u# u* s#s&%*! '% og!n#!+ão '% o-#os 'os $o"%sso%s. !s

    '%"#n#+=%s '% !g%n&% ;u% s%ão %n;u!'!'!s $!! %so,% %ss% $o/,%*! s%ão '%

    !g%n&%s /!s%!'os %* o/?%o % u,#'!'%

    Os )on)%#&os '% !g%n&% $ossu%* u*! )!!)&%ís)! !$o#*!'! ;u!n'o

    ;u%%*os &!&! '% s#s&%*!s "ís#)os ou ,Vg#)os No %n&!n&o. %ss% &!/!,o #- s%

    %n;u!'!'o %* !g%n&%s ,Vg#)os ou '% so"&!%1

    O !g%n&% '% so"&!% %)%/% s%;u(n)#!s '% &%),!s '#g#&!'!s. )on&%Y'o '%

    !;u#os % $!)o&%s '% %'% )o*o s%nso%s % !&u! so/% o !*/#%n&% %#/#n'o !,go n!&%,!. g!!n'o !;u#os % %n#!n'o $!)o&%s '% %'% 7RUSSELL. NORWING 20048

    E,% &%* ! )!$!)#'!'% '% '%)#'# ;u!#s !+=%s s%ão *!#s !$o$#!'!s $!! u*

    usu-#o ou u* ou&o $og!*!. '%$%n'%n'o '!s #n"o*!+=%s ;u% "o!*

    !n&%#o*%n&% "on%)#'!s. ou s%?!. %,% &!/!,! '% "o*! $%#sí%, %* %!+ão !o

    !*/#%n&%

    2., R#-o%# Po/%#m"-

    Co* os !g%n&%s %!os. u* s#*$,%s *!$%!*%n&o '#%&o '% %s&!'os %*

    !+=%s $o'%* %so,% os $o/,%*!s $!! !)! ! so,u+ão En&%&!n&o. !*/#%n&%s

    n%)%ss#&!'os '% *!$%!*%n&os g!n'%s '%*!#s $!! !*!%n!*%n&o "!#!* )o*

    ;u% o !$%n'#!'o '%,%s '%*o!ss% En&ão. os !g%n&%s /!s%!'os %* o/?%os

    $o'%* o/&% su)%sso. )ons#'%!n'o !+=%s "u&u!s % ! )on%n#(n)#! '% s%us

    %su,&!'os 7RUSSELL. NORWING 20048

    E#s&%* *

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    20/44

    1

      Po/,%*!s '% s!s"!+ão '% %s&#+=%s

    A %so,u+ão '% $o/,%*!s $o *%#o '% /us)! '%)#'% o ;u% "!%

    %n)on&!n'o s%;u(n)#!s '% !+=%s ;u% ,%!* ! %s&!'os '%s%?-%#s 7RUSSELL.

    NORWING 20048 As /us)!s não $ossu%* u*! #n"o*!+ão so/% o $o/,%*!.

    &%n'o ;u% u,#! &%s&%s '% )o*$!!+ão '% o/?%os. &on!n'o ! su! %%)u+ão

    %!us! A /us)! )o* #n"o*!+ão % %$,o!+ão < u* !$#*o!*%n&o 'o s#s&%*!

    '% /us)! &!'#)#on!,. $o#s %,% ,%!n&!- u* )on?un&o '% #n"o*!+=%s $!! %n)on&!

    so,u+=%s '% *o'o *!#s %"#)#%n&% ! "#* '% %'u# os )us&os '! /us)! A /us)!

    )o*$%! < /!s#)!*%n&% %!*#n! os $o/,%*!s %n;u!n&o sug%* !g%n&%s ;u%

    '#"#)u,&!* %ss% &!/!,o 7*u#&o u,#!'o %* s#s&%*! '% ?ogos8

    Os $o/,%*!s '% s!s"!+ão '% %s&#+=%s u,#!* u*! !*$,! !#%'!'%

    '% *

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    21/44

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    22/44

    20

    u* %* u*! su/s%;u(n)#! '%ss!s !#-%#s Ao )ons#'%! u*! s%;u(n)#! "#n#&! '%

    !#-%#s  

     

     

     

     

     

     

     

     

      )o* s%us %s$%)os 'o*ín#os

     

     

     

     

     

     

     

     

    . $o'%*os

    !'*# ;u% )!'! !#-%,

     

     $%&%n)% !o 'o*ín#o

     

    Ao !'*# u*! %s&#+ão  %*

     . ;u%%*os '#% ;u% %#s&% u* su/)on?un&o

     

     

     

     

     

     

     

      % s%

     

     

     

     

     

     

     

     

     

    .

    %n&ão '#%*os ;u% ! %s&#+ão "o# %so,#'!

    U,#!n'o nosso o/?%&o '% %s&u'o $!! %%*$,#"#)!. !'*#*os ;u% %#s&%

    u*! s%;u(n)#! "#n#&! '% $o"%sso%s ;u% '%%* s% og!n#!'os %* '#!s. $%ío'os.

    &unos % '#s)#$,#n!s 7'o*ín#os8 '% !)o'o )o* su!s %s&#+=%s H!%- u*!

    su/s%;u(n)#! '% $o"%sso%s. n%ss% )!so $o'%- ou não %ng,o/! &o'os %,%s. ;u%

    !# "#)! un#'o $o u*! '%&%*#n!'! %s&#+ão S% %,! %s$%#&! o 'o*ín#o % "#%

    $!&% 'o )on?un&o *!#o 7)on?un&o '% $o"%sso%s8. %n&ão !%- so,u+ão $!! o

    $o/,%*!

    +.2 R#p#-#$!"1#- 3o Po/%#m" 3# S"!&-0"14o 3# R#-!&14o

    A %$%s%n&!+ão 'o PSR s%gu% u* $!'ão $!! ! )ons&u+ão '% u*

    %s$!+o '% %s&!'os ;u% são o %s&!'o #n#)#!,. "un+ão su)%sso. &%s&% '% o/?%o % o

    )us&o 'o )!*#no O %s&!'o #n#)#!, < ! !&#/u#+ão !#!. n! ;u!, &o'!s !s !#-%#s

    !#n'! não "o!* !&#/uí'!s A "un+ão su)%sso < u* !,o ;u% $o'% s% !&#/uí'o !

    ;u!,;u% !#-%, '% %s&!'o #n#)#!,. s%n'o ;u% %,! não $o'% %n&! %* )on",#&o )o*

    ou&!s !#-%#s ?- !&#/uí'!s O &%s&% '% o/?%o s%% $!! *os&! s% o ;u% "o#

    $o$os&o !n&%#o*%n&% o)o%u %* %su,&!'os s!s"!&V#os % o )us&o 'o )!*#no <

    /!s#)!*%n&% $!! *os&! ! %"#)#(n)#! '! !+ão. ou s%?!. ;u!n&o "o# o )us&o '!

    %so,u+ão

    Ao &o*! )o*o %%*$,o ! og!n#!+ão '% o-#os 'os $o"%sso%s.

    %#"#)!*os ;u% o %s&!'o #n#)#!, < u*! &!/%,! !#! '% '#!s '! s%*!n!. ! "un+ão

    su)%sso s%#! o )V'#go #n#)#!, 'os $o"%sso%s 7ID8 ;u% $o'% s% )o,o)!'o %*

    ;u!,;u% )

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    23/44

    21

    Ao &!&! o $o/,%*! )o*o %s&#&o nos '- /%n%"í)#os #*$o&!n&%s. &%n'o

    %* #s&! ;u% ! %$%s%n&!+ão '% %s&!'os %* u* PSR o/%'%)% ! u* $!'ão

    '%"#n#'o. ! "un+ão su)%sso % o &%s&% '% o/?%o $o'% s% '%s)#&o '% *o'o g%n

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    24/44

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    25/44

    2

    g%!, "un)#on! !,&%!n'o ! !,o '% u*! !#-%, $o % 7RUSSELL. NORWING

    20048

    Ao %s)o,% u* noo !,o $!! u*! !#-%,. ! %uís)! *!#s !'%;u!'!

    %n)on&!- u* !,o ;u% %su,&! %* u* nY*%o $%;u%no '% )on",#&os )o* !s ou&!s

    !#-%#s. )!*!'! '% %uís)! '% )on",#&os *ín#*os O &%*$o '% %%)u+ão '% u*

    PSR %so,#'o )o* %ss% $o '% %uís)! s%- #n'%$%n'%n&%*%n&% 'o &!*!no 'o

    $o/,%*! 7s%* ,%! %* )ons#'%!+ão o $os#)#on!*%n&o #n#)#!,8

    Po$!g!+ão '% R%s&#+ão

    A $o$!g!+ão '% %s&#+=%s < ! %$%ssão g%!, $!! #n'#)! !

    $o$!g!+ão '!s #*$,#)!+=%s '% u*! %s&#+ão '% u*! !#-%, $!! ou&!s !#-%#s

    7RUSSEL. NORWING. 20048Po$!g!+ão $o %s&#+=%s '#"un'% #n"o*!+=%s '!s !#-%#s ;u% ?- "o!*

    !&#/uí'!s $!! !s ;u% !#n'! s%ão !,o)!'!s Es&! &

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    26/44

    24

    , PROGRAMAÇÃO POR RESTRIÇÃO

    Pog!*!+ão $o %s&#+ão 7PR8 < u* $!!'#g*! '% $og!*!+ão

    '%s%no,#'! 'u!n&% os !nos 10 ;u% $ossu# !/o'!g%ns !,&%n!!s $!! !$og!*!+ão %* ;u% o $o)%sso '! *%s*! < ,#*#&!'o ! u*! g%!+ão '% %;u#s#&os

    7%s&#+=%s8. $o'%n'o s% )ons#'%!'! $o'%os! $!! %so,% $o/,%*!s '%

    $%s;u#s! )o*/#n!&V#! ;u% %)o% ! u*! g!*! '% &

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    27/44

    2

    Mu#&os $o/,%*!s ;u% $%)#s!* s% %so,#'os $o *%#o '! )o*$u&!+ão

    não %s&ão '%"#n#'os )o* $%)#são ou ! su! %s$%)#"#)!+ão $o'% '%$%n'% '!

    ;u!,#'!'% '% u*! so,u+ão. )o*o ! %,o)#'!'% )o* o ;u% < )!,)u,!'o ou '#s$os#os

    '% !'!%s u,&!$!ss!'os P!! %so,% %ss%s $o/,%*!s < $%)#so u,#! -#!s

    #n&%!+=%s. n%ss%s )!sos ! PR &on!Bs% u* *%#o %"#)!

    ,.+ Po'"m"14o R#-!&!&" # Po/%#m"- 3# S"!&-0"14o 3# R#-!&1#-

    A PR < u*! &%)no,og#! ;u% %so,% $o/,%*!s '% %s&#+=%s )o*

    %"#)#(n)#!. no %n&!n&o. o $o/,%*! '%% s% *o'%,!'o )o*o u* PSR. !%n'o !

    #n&%!+ão %n&% o *o'%,o '% %s&#+ão % o !,go#&*o '% /us)!

    E#s&%* 'u!s !/o'!g%ns '#"%%n&%s ;u% "o!* )#!'!s $!! s#*$,#"#)!

    %ss! #n&%!+ão. ! $#*%#! < u,#!n'o /#/,#o&%)!s %s$%)í"#)!s. )o*o ILOG So,%7/#/,#o&%)! Cbb8. Co)o 7/#/,#o&%)! 9AWA8 % E**! 7/#/,#o&%)! P:&on8. ! s%gun'!

    )ons#s&% %* o"%%)% !o usu-#o u*! ,#ngu!g%* /!s%!'! n! %s&#+ão ,Vg#)!. )o*o

    ECL#PS% 7/!s%!'o %* Po,og8 % S>I Po,og 7so"&!% )on&%n'o -#!s /#/,#o&%)!s

    $!! so,u)#on! %s&#+ão8

    D%%*os )ons#'%! !s '%"#n#+=%s '% PSR $!! %$%s%n&! u* $o/,%*!

    P. on'% ! *o'%,!g%* M c 7`. D. C8. ` %$%s%n&!n'o !s !#-%#s. D o 'o*ín#o % C

    !s %s&#+=%s O *o'%,o %* s# s%- %$%s%n&!'o $%,o )on?un&o '!s %s&#+=%s.

    'o*ín#os % !#-%#s. s%n'o '#"%%n)#!'o 'o $o/,%*!. ou s%?!. o *o'%,o < s%$!!'o

    'o #*$!ss% Connu!n'o. M %n&ão s%- u* *o'%,o '% P s% )!'! so,u+ão C

    )o%s$on'% ! u*! so,u+ão '% P % )!'! )on),usão '% P $o'% s% '%#!'! ! $!

    '% $%,o *%nos u*! so,u+ão %* C. ou s%?!. -#!s %so,u+=%s '% M $o'%

    )o%s$on'% *%s*! so,u+ão ! P

    E%*$,#"#)!n'o !&!

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    28/44

    25

    s% $ossí%, u,#! o *%s*o $og!*! $!! "#n!,#'!'%s '#"%%n&%s E* ,#ngu!g%ns

    '% $og!*!+ão )on%n)#on!#s !s %,!+=%s $%)#s!* s% )on%'!s $#*%#o %*

    "un+=%s. $o&!n&o ! $oss#/#,#'!'% '% us! %,!+=%s $!! '#"%%n&%s )V'#gos < %n&ão

    $%'#'!

    O uso '% %,!+=%s $!! %so,% $o/,%*!s $ossu# s%*%,!n+!s )o*

    s#s&%*!s '% /!n)o '% '!'os %,!)#on!#s A '#"%%n+! < ;u% %* PR !s %,!+=%s são

    #n"o*!'!s '% "o*! #*$,í)#&! % $ossu# u*! &!%"! '% %so,(B,!s. ?- %* /!n)o '%

    '!'os %,!)#on!#s. !s %,!+=%s 7&!/%,!s8 são no*!,*%n&% '!'!s %$,#)#&!*%n&% % !

    &!%"! )ons#s&% n! %"#)#(n)#! '% )onsu,&! 7APT 2008

    A %$%s%n&!+ão '% u* $o/,%*! $o *%#o '% %s&#+=%s < *u#&o ",%í%,.

    $o#s ! )on'#+ão $!! )!'! )!so $o'% s% !'#)#on!'!. %!'! ou !&< *%s*o

    *o'#"#)!'! No $o)%sso. - u*! %$%s%n&!+ão 'o $o/,%*! us!n'o %s&#+=%s %su!s %s$%)!s so,u+=%s. $o'%n'o s% '##'#'o %* $!&%s *%no%s % #n&%)!,!'!s.

    !,

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    29/44

    2

    7208 O o/?%o 'os )#!'o%s '! Co)o < $o$o)#on! u*! $,!&!"o*!

    %$%#*%n&!, %no,%n'o "%!*%n&!s. %%*$,os '% !,go#&*os % su$o&% $!!

    "on%)% %ns#no so/% $og!*!+ão %s&#!

    42 C!!)&%ís)!s '! Co)o

    E,! < )!$! '% *!n#$u,! u*! g!n'% !#%'!'% '% $os '% !#-%#s

    )o*o3 !#-%#s #n&%#!s. )on?un&os '% !,o%s #n&%#os. !#-%#s %!#s % %$%ss=%s

    ;u% %$%s%n&%* u* nY*%o #n&%#o ou o$%!'o%s '% %$%ssão us!n'o /!s% %!,

    7*!#s. *%nos. *u,$,#)!+ão. '##são. %s)!,! % ou&os8

    A,

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    30/44

    2

    4 P!)u,!#'!'% '! Co)o

    A #/,#o&%)! Co)o < "#n!n)#!'! $%,! _)o,% '%s M#n%s '% N!n&%s.

    ou:gu%s SA % A*!'%us SA $!! ;u% %#s&! u* '%s%no,#*%n&o )onnuo '%*%,o#!s % !'!$&!+=%s Ess! #n#)#!! "! )o* ;u% ! API &on%Bs% *!#s !'!$&-%,

    !os $o"#ss#on!#s no!&os % %$%#%n&%s %* PR. ou s%?!. *!#s %"#)#%n&% $!!

    &!/!,! )o* $%s;u#s!s. '%s%no,#*%n&o '% so"&!%s % %ns#no '! $og!*!+ão

    %s&#!

    E,! não < ! Yn#)! %s$%)#!,#!'! %* %so,% %s&#+=%s. *!s u* '% s%us

    '#"%%n)#!#s < ;u% %,! < u* so"&!% open source4. $%*#&% u*! %'u+ão n!

    ;u!n'!'% '% ,#n!s '% )V'#go % $ossu# o su$o&% )o*$,%&o $!! o s%u !$%n'#!'o

    no s%u s#&% o"#)#!, % %* "VunsUn#%s#'!'%s % %s)o,!s '% %ng%n!#! ! u,#!* )o*o "o*! '%

    !$%n'#!'o $!! $og!*!+ão %s&#!. )o*o3 Mon&$%,,#%. R%nn%s. Tou,ous%.

    _)o,% '%s M#n%s '% N!n):. _)o,% '%s M#n%s '% N!n&%s. _)o,% N!on!,% Su$

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    31/44

    2

    ,.< V"$!"'#$- 3# *!&%&;" Po'"m"14o R#-!&!&"

    PR < u*! &%)no,og#! $!! %so,u+ão '% $o/,%*!s '% $,!n%?!*%n&o %

    $og!*!+ão )o*$,%! Co* %,!+ão !os *

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    32/44

    0

    5 ESTUDO DE CASO: S>EDULER

    O S%'u,% < u* so"&!% ;u% o/&%- ! "un+ão '% og!n#! os o-#os

    'os $o"%sso%s ! $! '% #n"o*!+=%s )on'!s no /!n)o '% '!'os )o* /!s% %*%s&#+=%s '% '#!s '! s%*!n!. '#s)#$,#n!s $!! *#n#s&! % &unos 7*!&uno.

    %s$%no ou no&uno8 O o/?%o $#n)#$!, 'o $og!*! < "!% %ss! og!n#!+ão

    '! "o*! *!#s !u&o*-)! $ossí%,. s%* !% ! n%)%ss#'!'% '% %,%!'os &%*$os

    $!! o %s)!,on!*%n&o

    P!! "!% )o* ;u% %,% "oss% )!$! '% !&%n'% ! &o'os os #*$!ss%s

    !/o'!'os $!! ! og!n#!+ão 'os o-#os 'os $o"%sso%s. "o# n%)%ss-#o '##'# o

    &!/!,o %* &(s $!&%s3 %,!/o!+ão 'o $o/,%*!. )#!+ão 'o /!n)o '% '!'os $!!

    !*!%n! &o'!s !s #n"o*!+=%s 'os $o"%sso%s % %,!/o!+ão '% u* $og!*!)!$! '% og!n#! !s #n"o*!+=%s $!! o %su,&!'o $o$os&o A,

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    33/44

    1

    $o"%sso%s "#)!* !,o)!'os %* u* %&o ! $! 'os s%us IDs )!'!s&!'os no /!n)o

    '% '!'os. o $og!*! %s&- $%$!!'o $!! $%g! o $o"%sso ;u% % o *%no

    )o%"#)#%n&% '% '#!s $!! *#n#s&! !u,! % %#"#)! s% )on'# )o* o '#! ;u% o so"&!%

    ;u% u,#! C!so %ss!s !"#*!!s s%?!* %'!'%#!s. o s#s&%*! $!ss!- $!! !

    %&!$! ;u% %#"#)!- s% o $o"%sso  

     

      $ossu# '#s$on#/#,#'!'% $!! o o-#o S% !

    %s$os&! "o $os#!. %n&ão o $og!*! #- %#"#)! s% o $o"%sso %* ;u%s&ão

    $ossu# ! '#s)#$,#n! %* su! g!'% S% &o'!s %ss!s %&!$!s "o%* %'!'%#!s. o

    $o/,%*! $!! o '#! a s%- %so,#'o W!,% %ss!,&! ;u% s% o $o"%sso não !&%n'%

    ! ;u!,;u% u*! '!s %s&#+=%s. o so"&!% o,&! !o %s&!'o #n#)#!, % !)%s)%n&! u*

    !,o $!! $%)o% o %&o

    F&'*" 5: Mo'%,o 'o $o/,%*!

    Fo$!#: P%'oso. 2014

    5.2 B"$9o 3# D"3o-

    O /!n)o '% '!'os 7D8 < u*! )o,%+ão '% '!'os ,og#)!*%n&%

    %,!)#on!'os ;u% $ossu%* u* s#gn#"#)!'o #*$,í)#&o on'% u*! '%&%*#n!'! !$,#)!+ão

    $o'%- "!% su! #n&%$%&!+ão '% *o'o )o%%n&% O D < o$%!'o $o u* s#s&%*!

    '% g%%n)#!*%n&o '% /!n)o '% '!'os 7SGD8. ;u% $ossu# ! "un+ão '% )on&o,! o

    !)%sso s #n"o*!+=%s. g!!n ! )ons#s&(n)#! 'os '!'os !*!%n!'os % "on%)%

    *%#os '% !)%sso ! %,%s O SGD u,#!'o $!! !*!%n! ! /!s% '% '!'os 'o

    S%'u,% "o# o M:SQL. ;u% u,#! ! ,#ngu!g%* SQL )o*o #n&%"!)%

    5 SQ+ – +inguagem de #onsulta struturada.

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    34/44

    2

    F&'*" 7: D#!g!*! '% En'!'% % R%,!)#on!*%n&o 'o S%'u,%

    Fo$!#: P%'oso. 2014

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    35/44

    P!! %$%s%n&! o D g!"#)!*%n&%. < n%)%ss-#o )#! u* *o'%,o )o*

    "o*!&o '% '#!g!*!s ;u% #- '%s)%% o $!!'#g*! )on)%#&u!, 'o s#s&%*!. ou s%?!.

    u* D#!g!*! En'!'% % R%,!)#on!*%n&o 7DER8 Po'%Bs% '%"#n# ;u% ! %n'!'%

    s%- os o/?%&os u,#!'os '%n&o '% u* /!n)o '% '!'os )o* s%us '%#'os !&#/u&os

    A#n'! %#s&%* %,!)#on!*%n&os ;u% #n&%,#g!* !s %n'!'%s 7"un+=%s )o*uns8 A

    F#gu! 5 *os&!'! !n&%#o*%n&%. !$%s%n&! o DER 'o S%'u,% )o* &o'!s !s su!s

    ,#g!+=%s

    5.+ Imp%#m#$!"14o 3o E-!*3o 3# C"-o

    A $! 'os %s&u'os so/% os )on)%#&os '! $og!*!+ão %s&#! % o

    !)u*u,o '% #n"o*!+=%s n%)%ss-#!s $!! %,!/o!+ão '% &%s&%s. "o# #n#)#!'o !

    )ons&u+ão '% u* so"&!% )!$! '% %so,% o $o/,%*! '! og!n#!+ão '%o-#os 'os %'u)!'o%s

    A ,#ngu!g%* '% $og!*!+ão u,#!'! $!! o '%s%no,#*%n&o 'o

    so"&!% "o# ! 9!!. u*! ,#ngu!g%* o#%n&!'! ! o/?%&os %%)u&!'! $o u*! *-;u#n!

    #&u!, A PR $ossu# u*! g!*! '% "%!*%n&!s )!$!%s '% u,#-B,! '! "o*! *!#s

    %"#)! $ossí%, D%n&% %,!s %s)o,%*os ! /#/,#o&%)! Co)o. $o#s %,! < u*!

    "%!*%n&! ,#%. $ossu# &o'!s !s "%!*%n&!s n%)%ss-#!s $!! s% u,#!'! n!

    %,!/o!+ão '%ss% so"&!% % g!!n&% u* su$o&% )o*$,%&o %* s%u "Vu* $!!

    $ossí%#s 'Y#'!s ;u!n&o !o s%u "un)#on!*%n&o

    A IDE5  u,#!'! $!! ! !,o)!+ão 'o )V'#go "on&% s%- o E),#$s%. $o#s.

    !ss#* )o*o o Co)o. $ossu# u* su$o&% *u#&o g!n'% $!! os usu-#os. !,

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    36/44

    4

    1 A*/#%n&% '% Pog!*!+ão 79AWA8

    R%s$%#&!n'o os )on)%#&os '% POO. "o# #*$,%*%n&!'o ),!ss%s $!! '%"#n#

    os o/?%&os $!! )o*$o % #n&%!g# )o* !s un#'!'%s 'o so"&!% Fo# )#!'o ;u!&o

    ),!ss%s on'% u*! os$%'! o )V'#go ;u% #- $u! !s #n"o*!+=%s 'o D. ou&! ;u%"#)!- %s$ons-%, $%,! og!n#!+ão '! PR % !s ou&!s 'u!s $!! )#!+ão 'os

    o/?%&os $#n)#$!#s '! og!n#!+ão3 $o"%sso%s % '#s)#$,#n!s

    P!! $o'% "!% ! u,#!+ão % *!n#$u,!+ão 'o D no 9AWA. "%Bs%

    n%)%ss-#o ! #*$o&!+ão '% u*! /#/,#o&%)! %s$%)í"#)! $!! o &!&!*%n&o 'o SQL.

    $o#s não < u*! u,#!+ão n!! A /#/,#o&%)! u,#!'! "o# ! mysql-connector-a!a

    W!,% %ss!,&! ;u% !$%n!s n! ),!ss% ;u% "!#! ! )on%ão )o* o D ;u% %,! "o#

    #*$o&!'! A ou&! /#/,#o&%)! u,#!'! "o# ! Co)o. #*$o&!'! !$%n!s n! ),!ss% ;u%

    &!&!! '!s %s&#+=%s

    2 I*$o&!n'o ! /#/,#o&%)! Co)o

    Co*o %$%s%n&!'o n!s s%+=%s !n&%#o%s. ! /#/,#o&%)! %* ;u%s&ão

    n%)%ss#&! '% u* *o'o '% og!n#!+ão $

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    37/44

    $!! !s %s&#+=%s. o *o'%,o '% kernel  '!s %s&#+=%s % u* *o'%,o '% kernel  $!!

    os $os '% !#-%#s ;u% #%*os &!/!,! W!,% o/s%! ;u% o &!&!*%n&o 'os

    $o"%sso%s s%- "%#&o $%,os ID % não $%,o no*% '%,%s. $o #sso ! u,#!+ão '%

    !#-%#s #n&%#!s

    F&'*" =: I*$o&!+=%s 'o Co)o

    Fo$!#: P%'oso. 2014

    C#!n'o o *o'%,o % ! so,u+ão

    To*!n'o )o*o /!s% !s '%"#n#+=%s '% PR. o *o'%,o 'o $o/,%*!

    n%)%ss#&! s% )#!'o. !ss#* *os&!'o n! F#gu! Po u,#! ! POO. o o/?%&o

    *o'%,o '%%- s% 'o $o %s$%)í"#)o '% *o'%,o 'o Co)o 7CPMo'%,8. ou s%?!. u*

    o/?%&o

    F&'*" ?: Mo'%,o % !#-%#s

    Fo$!#: P%'oso. 2014

    A$Vs '%"#n# o o/?%&o 'o *o'%,o. "o# )#!'o o o/?%&o '!s !#-%#s. !ss#*

    '%*ons&!'o n! F#gu! . 'o $o %&o #n&%#o D%$o#s. %s&!/%,%)% !s %s&#+=%s %*

    &ono 'o $o '% !#-%#s ;u% #%*os &!/!,!. )o*o %$%s%n&!'o n! F#gu! 10

    7 -ernel – /cleo de um sistema.

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    38/44

    5

    F&'*" 10: R%s&#+=%s

    Fo$!#: P%'oso. 2014

    Po "#*. "o# )#!'o u* o/?%&o ;u% s%- %s$ons-%, $o so,u)#on! !s

    %s&#+=%s !n&%#o*%n&% $o$os&!s. !ss#* '%*ons&!'o n! F#gu! 11

    F&'*" 11: So,u+ão

    Fo$!#: P%'oso. 2014

    5., T#-!#-

    Os &%s&%s #n#)#!#s "o!* $o$os&os $!! "!% ! og!n#!+ão 'os$o"%sso%s ;u% ,%)#on!* no )uso '% )#(n)#! '! )o*$u&!+ão $%,o &uno *!&uno.

    )o* 10 %'u)!'o%s !,o)!'os no D As '#s)#$,#n!s '#s$oní%#s $o $%ío'o s%gu%*

    og!n#!+ão %s&!/%,%)#'! n! g!'% )u#)u,! 'o )uso O G-"#)o 1 *os&! !

    ;u!n'!'% '% $o"%sso%s $!! )!'! $%ío'o

    G(0&9o 1: Po"%sso%s $o P%ío'o

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    39/44

    Fo$!#: P%'oso. 2014

    Ao )o,%&! %ss!s #n"o*!+=%s. $!! '#%)#on! os &%s&%s. u,#!*os )o*o

    /!s% o 2 $%ío'o. $o#s. !ss#* '%*ons&!'o no G-"#)o 1. < o ;u% $ossu# ! *!#o

    ;u!n'!'% '% $o"%sso%s '#s$oní%#s Os $o"%sso%s ;u% %s&!!* '#s$oní%#s no

    D $!! %ss% $%ío'o %s&ão %$%s%n&!'os n! Qu!'o 1

    @*"3o 1: T!/%,! 'os $o"%sso%s

    Fo$!#: P%'oso. 2014

    Fo# %!,#!'o )#n)o %%)u+=%s '% &o)! $!! %#"#)! ! $%*u&!+ão '%

    )!'! $o"%sso. %$%s%n&!'os )o* s%us %s$%)os IDs % no*%s O nY*%o '%

    %%)u+=%s "o# '%&%*#n!'o '% "o*! !/#&-#!. s%n'o !ss#*. !o %!,#! )#n)o

    0   1   2   3   4   5   6

    1

    2

    3

    4

    5

    6

    7

    8

    'rofessores por 'er0odo

    Quantidade de 'rofessores

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    40/44

    '#"%%n&%s $%*u&!+=%s. %#"#)ouBs% ;u% o $og!*! *o'#"#)!! os $o"%sso%s '%

    !)o'o )o* )!'! '#s$on#/#,#'!'% '% '#!s. )o*o !$%s%n&!'o n! Qu!'o 2

    @*"3o 2: P%*u&!+ão 'os $o"%sso%s 'o 2 P%ío'o

    Permutação S#'*$3" T#1" @*"!" @*&$!" S#!"

    11 A#!,'o K

    Á,g%/!

    L#n%!

    5 T#!go K

    A,go#&*o %

    Pog!*!+ão

    1 E,'! K

    LVg#)!

    Co*$u&!)#on!,

    4 N#,!n%&% K

    M%&o'o,og#!

    C#%n&í"#)!

    2 M#)%, K

    C-,)u,o 1

    "

    11 A#!,'o K

    Á,g%/!

    L#n%!

    1 E,'! K

    LVg#)!

    Co*$u&!)#on!,

    5 T#!go K

    A,go#&*o %

    Pog!*!+ão

    4 N#,!n%&% K

    M%&o'o,og#!

    C#%n&í"#)!

    2 M#)%, K

    C-,)u,o 1

    #

    4 N#,!n%&% K

    M%&o'o,og#!

    C#%n&í"#)!

    1 E,'! K

    LVg#)!

    Co*$u&!)#on!,

    5 T#!go K

    A,go#&*o %

    Pog!*!+ão

    11 A#!,'o K

    Á,g%/!

    L#n%!

    2 M#)%, K

    C-,)u,o 1

    $

    11 A#!,'o K

    Á,g%/!

    L#n%!

    5 T#!go K

    A,go#&*o %

    Pog!*!+ão

    1 E,'! K

    LVg#)!

    Co*$u&!)#on!,

    4 N#,!n%&% K

    M%&o'o,og#!

    C#%n&í"#)!

    2 M#)%, K

    C-,)u,o 1

    %

    11 A#!,'o K

    Á,g%/!

    L#n%!

    1 E,'! K

    LVg#)!

    Co*$u&!)#on!,

    5 T#!go K

    A,go#&*o %

    Pog!*!+ão

    4 N#,!n%&% K

    M%&o'o,og#!

    C#%n&í"#)!

    2 M#)%, K

    C-,)u,o 1

    Fo$!#: P%'oso. 2014

    As %s&#+=%s &!&!'!s n! *%&o'o,og#! são !s *%n)#on!'!s s%+ão 1

    '%s&% &!/!,o D%s&! "o*!. o/s%!Bs% ;u% ! '#s&#/u#+ão '!s '#s)#$,#n!s $!! u*

    '%&%*#n!'o '#! '! s%*!n! '%$%n'% 'o $o"%sso ;u% "o# !,o)!'o $!! %,! Isso

    #*$,#)! '#% ;u% ! '#s)#$,#n! '% Á,g%/! L#n%! !# "#)! )o* o $o"%sso ;u% $ossu#

    ! '#s$on#/#,#'!'% $!! ,%)#on-B,! Ess! #su!,#!+ão "o# o/'! %* )onsu,&! '#%&! n!

    /!s% '% '!'os % !)%s)%n&!'! !o Qu!'o 2

    W%#"#)ouBs%. !#n'!. ;u% %#s&% $o"%sso%s ;u% "#)!!* !,o)!'os $!!

    '%&%*#n!'o '#! '! s%*!n!. ou s%?!. o so"&!% %#"#)ou ;u% %#su $o"%sso%s;u% $ossuí!* *!#o $%"%(n)#! $!! ,%)#on! %* '%&%*#n!'os '#!s Po %%*$,o.

    o $o"%sso M#)%, $ossu# *!#o $#o#'!'% '% ,%)#on! n! s%&!B"%#!. $o#s '!s )#n)o

    $%*u&!+=%s o)o#'!s %,% s%*$% "o# !,o)!'o $!! %ss% '#! O G-"#)o 2 %su*% !s

    $%*u&!+=%s $!! )!'! $o"%sso

    G(0&9o 2: G-"#)o '% $%*u&!+ão

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    41/44

    Fo$!#: P%'oso. 2014

    5.5 R#-*%!"3o-

    O so"&!% "! ! og!n#!+ão $%,! "o*! ;u% "o# $og!*!'o E*

    )on&!$!'!. ! ;u!n'!'% '% $o"%sso%s !,o)!'os no D não "o# o su"#)#%n&% $!!

    '#s&#/u# &o'os %,%s '#"%%n&%s $!! &o'os os $%ío'os A,

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    42/44

    40

    7 CONCLUSÃO

    O !u*%n&o ;u!n&!o '% !,unos ;u% #ng%ss!* n!s "!)u,'!'%s %

    un#%s#'!'%s. % o )ons%;u%n&% !u*%n&o 'o )o$o 'o)%n&%. "% )o* ;u% "oss%n%)%ss-#! ! u,#!+ão '% s#s&%*! $!! !u&o*!! ! g%s&ão 'os o-#os 'os

    $o"%sso%s. u,#!n'o os )on)%#&os '! $og!*!+ão $o %s&#+ão

    O $%s%n&% &!/!,o %$,#)ou !s /!s%s '! $og!*!+ão %s&#! % !s

    '#s)#$,#n!s ;u% '%!* o#g%* ! %,! T!, u,#!+ão '%uBs% '%#'o !o "!&o '%,! s% u*

    $!!'#g*! %s$%)#!,#!'o %* %s&#+=%s. ;u% "!)#,#&ou ! )ons&u+ão 'o so"&!% % "%

    ! og!n#!+ão '! "o*! *!#s )o%&! $ossí%,. s%* ! %#g(n)#! '% %s"o+os *!#s

    )o*$,%os &!n&o n! )#!+ão ;u!n&o n! %so,u+ão

    R%ss!,&ouBs% &!*/

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    43/44

    41

    REFERÊNCIAS

    ACP K Asso)#!on "o Cons&!#n& Pog!**#ng D#s$oní%, %*3 e&&$366!4)$og6 f

    APT. J:s&o" R P&$9&p%#- o0 Co$-!"&$! Po'"mm&$' ]S,^ C!*/#'g% 200

    APTISTA. Luís E-!*3o p#%&m&$" 3# #-!"!- p"" "%'o&!mo- 3# CSPD#s$oní%, %*3e&&$366)o*u*)!!$$&6/#&s&%!*61245620616Es&u'oX20$%,#*#n!$'" fA)%sso %* 20 ou& 2014

    ORIGA. L%)& R!'u So%&$' -om# op!&m&;"!&o$ po/%#m- *-&$' 9o9o %&/"D#s$oní%, %*3e &&$366*%g!/:&%u&*o6%n6!)o,%62006Ss%*\161o#g!$'" fA)%sso %* 20 ou& 2014

    CHOCO K A F%% !n' O$%nBSou)% 9!! L#/!: "o Cons&!#n& Pog!**#ngD#s$oní%, %*3e &&$366)o)oBso,%og6 f

    EURODECISION K O$%!on!, R%s%!) Co$-!"&$! Po'"mm&$' D#s$oní%,%*3e &&$366%uo'%)#s#on%u6)ons&!#n&B$og!**#ng f A)%sso %*3 2 ou&2014

    FRUH>IRTH. To* HEROLD. A,%!n'% JUCHENHOFF. Wo,% PROWOST.T#%: L% LIM. P#%% MONFROa. E#) >ALLACE. M! Co$-!"&$! %o'&9po'"mm&$' A$ &$0om"% I$!o3*9!&o$ D#s$oní%, %*3 e&&$366)#&%s%%#s&$su%'u6#%'o)6'on,o!'?s%ss#on#'c405F12212450FD0['o#c1011211%$c%$1&:$%c$'" f A)%sso %*3 2 ou& 2014

    GANU. H#s#%s Co$-!"&$! Po'"mm&$'. D#s$oní%, %*3 e&&$s366#n"o*sog6ORMSBTo'!:6Pu/,#)BA),%s6Augus&BWo,u*%BBNu*/%B46Cons&!#n&B$og!**#ng f A)%sso %*3 2 ou& 2014 

    IM M"!#m"!&9"% Po'"mm&$' -. Co$-!"&$! Po'"mm&$' D#s$oní%, %*3e&&$366B01#/*)o*6so"&!%6#n&%g!on6o$*#!on6)$,%B)$Bo$*#%6*$B)$6 fA)%sso %* 20 ou& 2014

    LUGER. G%og% F I$!#%&'$9&" A!&0&9&"% 4 %' Po&o A,%g%3 oo*!n 2004

    MORENO. An! C!o,#n! FA9ARDO. W!n%ss! Nm#o 3# m"!69*%"- $o #$-&$o-*p#&o 9#-9# =1% #m 3#; "$o- D#s$oní%, %*3 e

    &&$366g1g,o/o)o*6%'u)!)!o6no)#!62016106nu*%oB'%B*!&#)u,!sBnoB%ns#noBsu$%#oB)%s)%B1B%*B'%B!nos&*, f A)%sso %* 1 s%& 2014

    NASCIMENTO. R!"!%, 9 O,#%#! 'o E$'#$"&" 3# -o0!"# o$!"3" ""'#$!#- D#s$oní%, %*3 e &&$366'%*%'#!)o*/6%ng%n!#!B'%Bso"&!%Bo#%n&!'!B!B!g%n&%s622 f A)%sso %* 20 ou& 2014

    Pu/,#)!ons /: &% Cons&!#n& S!s"!)on !n' O$*#!on Gou$. Un#%s#&: o"Ess% D#s$oní%, %*3 e &&$366)s%ss%!)u6CSP6$!$%s&*, f

  • 8/18/2019 PROGRAMAÇÃO POR RESTRIÇÃO: UMA SOLUÇÃO PARA RESOLVER PROBLEMAS DE ORGANIZAÇÃO DE HORÁRIOS

    44/44

    42

    ROSSI. F!n)%s)! EEJ. P%&% W!n >ALSH. To/: H"$3/oo o0 Co$-!"&$!Po'"mm&$' ]S,^ E,s%#%. 2005

    RUSSELL. S&u!& NORWIG. P%&% I$!#%&'$9&" A!&0&9&"% 2 E' T!'u+ão3W!n'%n/%g D '% Sou! São P!u,o3 E,s%#%. 2004

    SANTOS. R!"!%, En&%n'%n'o $og!*!+ão )o* %s&#+=%s !&!