code 256
David López
deibyd at gmail.com
Fri Oct 6 05:22:43 CEST 2006
Hi Boriss,
i have:
- Linux zeus 2.6.18 #1 SMP PREEMPT Thu Sep 21 18:36:52 CLT 2006 i686
pentium4 i386 GNU/Linux
- 512 MB RAM
and , mozart-oz:
the last one, Version 1.3.2 released on June 15, 2006!
The important thing is that i myself it compiles both S.O and mozart-oz.
With respect to the code, that this very duplicated, what you recommend
to me?, how can I automate the variables of the form #define like in c?
The problem of code 256, comes when I occupy the following distribution:
{FD.distribute ff Variables}
But when I occupy:
{FD.distribute generic(value:max) Variables}
it is delayed very little, these are the statistics:
stat(b:0 c:0 depth:1 f:0 s:1 start:299), and time:15,06s
Also it wanted to know if there is some way to be able to have the
result, of another that inspector way since the interpretation costs to
me much, is possible to be occupied tk, or some text file? thank you
very much by the answer
Boriss Mejias wrote:
> Hi David,
>
> Sorry for the late reply. I tried feeding your code in the OPI and I
> didn't have any error message from the compiler. I let the program run
> for a while but it consumed huge amount of RAM so I needed to forced it
> to quit. So I don't know where you error code 256 comes from. Which
> version of Mozart are you running and which operative system?
>
> About the code... you have a lot of code duplication, but I can see that
> you are already fixing that and other issues in the discussion with Filip.
>
> cheers
> Boriss
>
> David López wrote:
>> Boriss Mejias wrote:
>>> Hi David,
>>>
>>> What was the code you fed in the OPI? Without that it's going to be very
>>> difficult to help you.
>>>
>>
>> hi Boris, tis is my code:
>>
>> declare
>>
>> Salas=12
>> Asignaturas=150
>> Periodos=35
>>
>> proc{Asignacion X}
>> Variables in
>>
>> X={MakeTuple salas Salas}
>> for M in 1..Salas do
>> X.M={MakeTuple asignaturas Asignaturas}
>> for W in 1..Asignaturas do
>> X.M.W={FD.tuple periodos Periodos 0#1}
>> end
>> end
>>
>> Variables = for M in 1..Salas collect:Collect do
>> for W in 1..Asignaturas do
>> for L in 1..Periodos do
>> {Collect X.M.W.L}
>> end
>> end
>> end
>>
>> % primera restricción: Toda sala m debe ser asignada a lo mas a una
>> asignatura w en el periodo l
>> for M in 1..Salas do
>> for L in 1..Periodos do
>> SumVariables=for W in 1..Asignaturas collect:Collect do
>> {Collect X.M.W.L}
>> end
>> in
>> {FD.sum SumVariables '=<:' 1}
>> end
>> end
>>
>> % segunda restricción: Toda asignatura w tiene tw periodos a la semana
>> for W in 1..Asignaturas do
>> SumVariables2=for L in 1..Periodos collect:Collect do
>> for M in 1..Salas do
>> {Collect X.M.W.L}
>> end
>> end
>> in
>> {FD.sum SumVariables2 '=:' 2}
>> end
>>
>> % tercera restricción: Toda asignatura w debe ser asignada a lo mas a
>> una sala m en el periodo l
>> for W in 1..Asignaturas do
>> for L in 1..Periodos do
>> SumVariables3=for M in 1..Salas collect:Collect do
>> {Collect X.M.W.L}
>> end
>> in
>> {FD.sum SumVariables3 '=<:' 1}
>> end
>> end
>>
>> % cuarta restricción: la asignacion de las asignaturas w de un mismo
>> semestre j no deben coincidir en el mismo periodo l
>> for L in 1..Periodos do
>> SumaVariables4_1=for M in 1..Salas collect:Collect do
>> for W in 1..5 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_2=for M in 1..Salas collect:Collect do
>> for W in 6..10 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_3=for M in 1..Salas collect:Collect do
>> for W in 11..15 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_4=for M in 1..Salas collect:Collect do
>> for W in 16..20 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_5=for M in 1..Salas collect:Collect do
>> for W in 21..25 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_6=for M in 1..Salas collect:Collect do
>> for W in 26..30 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_7=for M in 1..Salas collect:Collect do
>> for W in 31..35 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_8=for M in 1..Salas collect:Collect do
>> for W in 36..40 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_9=for M in 1..Salas collect:Collect do
>> for W in 41..45 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_10=for M in 1..Salas collect:Collect do
>> for W in 46..50 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_11=for M in 1..Salas collect:Collect do
>> for W in 51..55 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_12=for M in 1..Salas collect:Collect do
>> for W in 56..60 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_13=for M in 1..Salas collect:Collect do
>> for W in 61..65 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_14=for M in 1..Salas collect:Collect do
>> for W in 66..70 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_15=for M in 1..Salas collect:Collect do
>> for W in 71..75 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_16=for M in 1..Salas collect:Collect do
>> for W in 76..80 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_17=for M in 1..Salas collect:Collect do
>> for W in 81..85 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_18=for M in 1..Salas collect:Collect do
>> for W in 86..90 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_19=for M in 1..Salas collect:Collect do
>> for W in 91..95 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_20=for M in 1..Salas collect:Collect do
>> for W in 96..100 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_21=for M in 1..Salas collect:Collect do
>> for W in 101..105 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_22=for M in 1..Salas collect:Collect do
>> for W in 106..110 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_23=for M in 1..Salas collect:Collect do
>> for W in 111..115 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_24=for M in 1..Salas collect:Collect do
>> for W in 116..120 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_25=for M in 1..Salas collect:Collect do
>> for W in 121..125 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_26=for M in 1..Salas collect:Collect do
>> for W in 126..130 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_27=for M in 1..Salas collect:Collect do
>> for W in 131..135 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_28=for M in 1..Salas collect:Collect do
>> for W in 136..140 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_29=for M in 1..Salas collect:Collect do
>> for W in 141..145 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_30=for M in 1..Salas collect:Collect do
>> for W in 146..150 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> in
>> {FD.sum SumaVariables4_1 '=<:' 1}
>> {FD.sum SumaVariables4_2 '=<:' 1}
>> {FD.sum SumaVariables4_3 '=<:' 1}
>> {FD.sum SumaVariables4_4 '=<:' 1}
>> {FD.sum SumaVariables4_5 '=<:' 1}
>> {FD.sum SumaVariables4_6 '=<:' 1}
>> {FD.sum SumaVariables4_7 '=<:' 1}
>> {FD.sum SumaVariables4_8 '=<:' 1}
>> {FD.sum SumaVariables4_9 '=<:' 1}
>> {FD.sum SumaVariables4_10 '=<:' 1}
>> {FD.sum SumaVariables4_11 '=<:' 1}
>> {FD.sum SumaVariables4_12 '=<:' 1}
>> {FD.sum SumaVariables4_13 '=<:' 1}
>> {FD.sum SumaVariables4_14 '=<:' 1}
>> {FD.sum SumaVariables4_15 '=<:' 1}
>> {FD.sum SumaVariables4_16 '=<:' 1}
>> {FD.sum SumaVariables4_17 '=<:' 1}
>> {FD.sum SumaVariables4_18 '=<:' 1}
>> {FD.sum SumaVariables4_19 '=<:' 1}
>> {FD.sum SumaVariables4_20 '=<:' 1}
>> {FD.sum SumaVariables4_21 '=<:' 1}
>> {FD.sum SumaVariables4_22 '=<:' 1}
>> {FD.sum SumaVariables4_23 '=<:' 1}
>> {FD.sum SumaVariables4_24 '=<:' 1}
>> {FD.sum SumaVariables4_25 '=<:' 1}
>> {FD.sum SumaVariables4_26 '=<:' 1}
>> {FD.sum SumaVariables4_27 '=<:' 1}
>> {FD.sum SumaVariables4_28 '=<:' 1}
>> {FD.sum SumaVariables4_29 '=<:' 1}
>> {FD.sum SumaVariables4_30 '=<:' 1}
>> end
>>
>>
>>
>> % quinta restricción: Toda asignatura w no debe tener asignados dos
>> periodos en un mismo dia
>> for W in 1..Asignaturas do
>> SumVariables5_1=for L in 1..7 collect:Collect do
>> for M in 1..Salas do
>> {Collect X.M.W.L}
>> end
>> end
>> SumVariables5_2=for L in 8..14 collect:Collect do
>> for M in 1..Salas do
>> {Collect X.M.W.L}
>> end
>> end
>> SumVariables5_3=for L in 15..21 collect:Collect do
>> for M in 1..Salas do
>> {Collect X.M.W.L}
>> end
>> end
>> SumVariables5_4=for L in 22..28 collect:Collect do
>> for M in 1..Salas do
>> {Collect X.M.W.L}
>> end
>> end
>> SumVariables5_5=for L in 29..35 collect:Collect do
>> for M in 1..Salas do
>> {Collect X.M.W.L}
>> end
>> end
>> in
>> {FD.sum SumVariables5_1 '=<:' 1}
>> {FD.sum SumVariables5_2 '=<:' 1}
>> {FD.sum SumVariables5_3 '=<:' 1}
>> {FD.sum SumVariables5_4 '=<:' 1}
>> {FD.sum SumVariables5_5 '=<:' 1}
>> end
>>
>> % sexta restricción: Toda asignatura w no debe ser asignado despues
>> de las 18:00 horas
>>
>> for D in 1..1 do
>> SumVariables6_1=for M in 1..Salas collect:Collect do
>> for W in 1..Asignaturas do
>> for L in 6..7 do
>> {Collect X.M.W.L}
>> end
>> end
>> end
>> SumVariables6_2=for M in 1..Salas collect:Collect do
>> for W in 1..Asignaturas do
>> for L in 13..14 do
>> {Collect X.M.W.L}
>> end
>> end
>> end
>> SumVariables6_3=for M in 1..Salas collect:Collect do
>> for W in 1..Asignaturas do
>> for L in 20..21 do
>> {Collect X.M.W.L}
>> end
>> end
>> end
>> SumVariables6_4=for M in 1..Salas collect:Collect do
>> for W in 1..Asignaturas do
>> for L in 27..28 do
>> {Collect X.M.W.L}
>> end
>> end
>> end
>> SumVariables6_5=for M in 1..Salas collect:Collect do
>> for W in 1..Asignaturas do
>> for L in 34..35 do
>> {Collect X.M.W.L}
>> end
>> end
>> end
>> in
>> {FD.sum SumVariables6_1 '=<:' 0}
>> {FD.sum SumVariables6_2 '=<:' 0}
>> {FD.sum SumVariables6_3 '=<:' 0}
>> {FD.sum SumVariables6_4 '=<:' 0}
>> {FD.sum SumVariables6_5 '=<:' 0}
>> end
>>
>> %septima restriccion: No deben existir mas de un bloque entre
>> asignaturas w, en construccion
>>
>> {FD.distribute ff Variables}
>>
>> %{FD.distribute generic(value:max) Variables}
>> end
>>
>> {ExploreOne Asignacion}
>>
>>
>>
>>> cheers
>>> Boriss
>>>
>>> David López wrote:
>>>> i run a script, and this mesages raise:
>>>>
>>>> Process *Oz Compiler* exited abnormally with code 256
>>>>
>>>> why?, hat can i do?
>>>>
>>>> _________________________________________________________________________________
>>>>
>>>>
>>>> mozart-users mailing list
>>>> mozart-users at mozart-oz.org
>>>> http://www.mozart-oz.org/mailman/listinfo/mozart-users
>>>>
>>
>> taking advantage of the opportunity, to know if there is some
>> alternative to automate better this part of the code:
>>
>> % 4° constraint
>>
>> for L in 1..Periodos do
>> SumaVariables4_1=for M in 1..Salas collect:Collect do
>> for W in 1..5 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_2=for M in 1..Salas collect:Collect do
>> for W in 6..10 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_3=for M in 1..Salas collect:Collect do
>> for W in 11..15 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_4=for M in 1..Salas collect:Collect do
>> for W in 16..20 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_5=for M in 1..Salas collect:Collect do
>> for W in 21..25 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_6=for M in 1..Salas collect:Collect do
>> for W in 26..30 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_7=for M in 1..Salas collect:Collect do
>> for W in 31..35 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_8=for M in 1..Salas collect:Collect do
>> for W in 36..40 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_9=for M in 1..Salas collect:Collect do
>> for W in 41..45 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_10=for M in 1..Salas collect:Collect do
>> for W in 46..50 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_11=for M in 1..Salas collect:Collect do
>> for W in 51..55 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_12=for M in 1..Salas collect:Collect do
>> for W in 56..60 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_13=for M in 1..Salas collect:Collect do
>> for W in 61..65 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_14=for M in 1..Salas collect:Collect do
>> for W in 66..70 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_15=for M in 1..Salas collect:Collect do
>> for W in 71..75 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_16=for M in 1..Salas collect:Collect do
>> for W in 76..80 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_17=for M in 1..Salas collect:Collect do
>> for W in 81..85 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_18=for M in 1..Salas collect:Collect do
>> for W in 86..90 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_19=for M in 1..Salas collect:Collect do
>> for W in 91..95 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_20=for M in 1..Salas collect:Collect do
>> for W in 96..100 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_21=for M in 1..Salas collect:Collect do
>> for W in 101..105 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_22=for M in 1..Salas collect:Collect do
>> for W in 106..110 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_23=for M in 1..Salas collect:Collect do
>> for W in 111..115 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_24=for M in 1..Salas collect:Collect do
>> for W in 116..120 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_25=for M in 1..Salas collect:Collect do
>> for W in 121..125 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_26=for M in 1..Salas collect:Collect do
>> for W in 126..130 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_27=for M in 1..Salas collect:Collect do
>> for W in 131..135 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_28=for M in 1..Salas collect:Collect do
>> for W in 136..140 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_29=for M in 1..Salas collect:Collect do
>> for W in 141..145 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> SumaVariables4_30=for M in 1..Salas collect:Collect do
>> for W in 146..150 do
>> {Collect X.M.W.L}
>> end
>> end
>>
>> in
>> {FD.sum SumaVariables4_1 '=<:' 1}
>> {FD.sum SumaVariables4_2 '=<:' 1}
>> {FD.sum SumaVariables4_3 '=<:' 1}
>> {FD.sum SumaVariables4_4 '=<:' 1}
>> {FD.sum SumaVariables4_5 '=<:' 1}
>> {FD.sum SumaVariables4_6 '=<:' 1}
>> {FD.sum SumaVariables4_7 '=<:' 1}
>> {FD.sum SumaVariables4_8 '=<:' 1}
>> {FD.sum SumaVariables4_9 '=<:' 1}
>> {FD.sum SumaVariables4_10 '=<:' 1}
>> {FD.sum SumaVariables4_11 '=<:' 1}
>> {FD.sum SumaVariables4_12 '=<:' 1}
>> {FD.sum SumaVariables4_13 '=<:' 1}
>> {FD.sum SumaVariables4_14 '=<:' 1}
>> {FD.sum SumaVariables4_15 '=<:' 1}
>> {FD.sum SumaVariables4_16 '=<:' 1}
>> {FD.sum SumaVariables4_17 '=<:' 1}
>> {FD.sum SumaVariables4_18 '=<:' 1}
>> {FD.sum SumaVariables4_19 '=<:' 1}
>> {FD.sum SumaVariables4_20 '=<:' 1}
>> {FD.sum SumaVariables4_21 '=<:' 1}
>> {FD.sum SumaVariables4_22 '=<:' 1}
>> {FD.sum SumaVariables4_23 '=<:' 1}
>> {FD.sum SumaVariables4_24 '=<:' 1}
>> {FD.sum SumaVariables4_25 '=<:' 1}
>> {FD.sum SumaVariables4_26 '=<:' 1}
>> {FD.sum SumaVariables4_27 '=<:' 1}
>> {FD.sum SumaVariables4_28 '=<:' 1}
>> {FD.sum SumaVariables4_29 '=<:' 1}
>> {FD.sum SumaVariables4_30 '=<:' 1}
>> end
>>
>>
>>
>> And if it is possible to remove or chance the results in a text file,
>> since in the inspector it leaves to me very difficult to
>> include/understand.
>>
>>
>> thank very much for you answer.
>>
>> _________________________________________________________________________________
>>
>> mozart-users mailing list
>> mozart-users at mozart-oz.org
>> http://www.mozart-oz.org/mailman/listinfo/mozart-users
>>
>
More information about the mozart-users
mailing list