#1889 closed defect (fixed)
Error con TimeTools
Reported by: | Pedro Gea | Owned by: | Víctor de Buen Remiro |
---|---|---|---|
Priority: | normal | Milestone: | Mantainance |
Component: | Packages | Version: | |
Severity: | normal | Keywords: | |
Cc: |
Description
Se encuentran errores al usar TimeTools:
#Require TimeTools; Real PutRandomSeed(2143); Serie s = SubSer(Gaussian(5, 2, Weekly), y2014, y2014m06); Real PutSerDat(s, y2014m02d24, 0); Real PutSerDat(s, y2014m03d17, 0.1); Set TimeTools::InvChFlow.Set([[s]], @TimeSet(Daily), "SumS", 2);
[TimeTools::InvChFlow] Solving each particular linear system ... ERROR: [] value no es un objeto valido para el tipo Real. [Call stack] [6] Real info::ipopt::sqp::set.option (Text type, Text name, Anything value) [5] Real info::ipopt::sqp::set.option.list (Set list) [4] Real info::ipopt::sqp::build_and_optimize (Real void) [3] NameBlock TolIpopt::@SMRS::Optimize.Bounded (Set options, VMatrix X, VMatrix y, VMatrix x_lower_, VMatrix x_upper_) [2] NameBlock TimeTools::InvChFlow.Simultaneous (Anything aggFlow_, Set trg, Text groupStat_, Real difApprxDeg_) [1] Set TimeTools::InvChFlow.Set (Set aggFlow_, Set trg, Text groupStat_, Real difApprxDeg_)
Attachments (4)
Change History (16)
comment:1 Changed 9 years ago by
Component: | Kernel → Packages |
---|
comment:2 Changed 9 years ago by
comment:3 follow-up: 5 Changed 9 years ago by
Es cierto, este código necesita TolIpopt.3.4 mínimo.
Sería conveniente incorporar una línea como:
Real TolPackage::TolVersion::TestPackageVersion("TolIpopt.3.4", "MIN");
al StartActions
de TimeTools. Aunque si como dices, vas a prescindir de TolIpopt, pues esperamos ese cambio.
comment:4 Changed 9 years ago by
Cuestión aparte es que el resultado que devuelve no resulta muy bueno, con un par de picos con cambios de pendiente bruscos.
Espero a que subas los cambios que tengas pendientes en TimeTools.
comment:5 Changed 9 years ago by
Replying to pgea:
tengo que repasar el códig y si realmente no lo uso quitaré el eequire de TolIpopt y todas las referencias. En otro caso pongo esa línea que dices que es algo que no conocía porque está muy bien tener.
Changed 9 years ago by
Attachment: | compareSmoothStep.gif added |
---|
comment:6 Changed 9 years ago by
Yo creo que está bien
La cuestión es qué se hace con los ceros, pues hay varias interpretaciones.
El convenio seguido es que cuando hay un cero se rompe el principio de suavidad.
Lo que hace es romper la serie en tramos sin ceros.
Quizás se podría añadir una opción de configuración para habilitar o deshabilitar esta característica.
Changed 9 years ago by
Attachment: | compareSmoothStep_BreakNonZeroes.gif added |
---|
Changed 9 years ago by
Attachment: | compareSmoothStep_DontBreakOnZeroes.gif added |
---|
Changed 9 years ago by
Attachment: | compareSmoothStep_None.gif added |
---|
comment:8 Changed 9 years ago by
Ahora hay tres opciones configurables:
- Romper la serie en los ceros como hasta ahora (comportamiento por defecto)
Real TimeTools::InvChFlow.Config::ActionForZeroes := TimeTools::InvChFlow.Options::ActionForZeroes::BreakNonZeroes
- No romper la serie en los ceros pero asegurar que no haya valores negativos
Real TimeTools::InvChFlow.Config::ActionForZeroes := TimeTools::InvChFlow.Options::ActionForZeroes::DontBreakOnZeroes
- No hacer nada al respecto, es decir, considerar que el flujo puede ser negativo
Real TimeTools::InvChFlow.Config::ActionForZeroes := TimeTools::InvChFlow.Options::ActionForZeroes::None
comment:11 Changed 9 years ago by
Ya he subido la versión corregida manteniendo la misma numeración, es decir, hay que hacer update
A mí me funciona perfectamente. Creo que es algo de la versión de TolIpopt que tendrás que actualizar.
De todas formas al final ya no uso TolIpopt ni creque vaya a usarlo, así que puedo eliminar el require y todas las referencias