fet
5.18.0

00001 /*************************************************************************** 00002 helptipsform.cpp  description 00003  00004 begin : Feb 20, 2005 00005 copyright : (C) 2005 by Lalescu Liviu 00006 email : Please see http://lalescu.ro/liviu/ for details about contacting Liviu Lalescu (in particular, you can find here the email address) 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #include "helptipsform.h" 00019 00020 #include "timetable_defs.h" 00021 00022 HelpTipsForm::HelpTipsForm(QWidget* parent): QDialog(parent) 00023 { 00024 setupUi(this); 00025 00026 closePushButton>setDefault(true); 00027 00028 plainTextEdit>setReadOnly(true); 00029 00030 connect(closePushButton, SIGNAL(clicked()), this, SLOT(close())); 00031 00032 centerWidgetOnScreen(this); 00033 restoreFETDialogGeometry(this); 00034 00035 setText(); 00036 } 00037 00038 HelpTipsForm::~HelpTipsForm() 00039 { 00040 saveFETDialogGeometry(this); 00041 } 00042 00043 void HelpTipsForm::setText() 00044 { 00045 QString s; 00046 00047 s+=tr("Important tips."); 00048 s+="\n\n"; 00049 s+=tr("Last modified on %1.").arg(tr("19 August 2009")); 00050 00051 s+="\n\n"; 00052 00053 s+=tr("1) Say you add a split activity or you add a constraint min days between activities (say na activities)," 00054 " when your week has nd days. Do not add a constraint with na>nd (number of activities strictly greater than number of days per week)."); 00055 s+="\n\n"; 00056 s+=tr("The correct way: if you want consecutive if same day, consider activities having a longer duration." 00057 " Instead of adding activities 1+1+1+1+1+1+1 in a 5 days week, add them as 2+2+1+1+1. If you don't want " 00058 "consecutive if same day, add 1+1+1+1+1 firstly and 1+1 after that."); 00059 s+="\n\n"; 00060 s+=tr("The generation will be much faster and easier using this approach (more than 10 times faster sometimes)."); 00061 00062 s+="\n\n"; 00063 00064 s+=tr("2) When adding constraints activities same starting time (or day), please remove redundant min days constraints. " 00065 "For instance, A1 (at same time with B1 and C1), A2 (same time with B2 and C2) and A3 (same time with B3 and C3)." 00066 " You will normally have 3 or 6 constraints min days between activities (first one or two with A1,A2,A3 and then " 00067 "with B1,B2,B3 and then with C1,C2,C3). These 3 or 6 constraints min days will result in a much stronger constraint, " 00068 "which will make the timetable much harder to find. If you have say 4 groups of activities (A, B, C, D), things will be even harder."); 00069 s+="\n\n"; 00070 s+=tr("The correct way is to leave only the constraints min days referring to the first group of activities (A)." 00071 " You will have a much faster generation (maybe 10 times faster or more)."); 00072 s+="\n\n"; 00073 s+=tr("PS: Suppose there are 2 constraints for activities A1,2,3 and 2 constraints for activities B1,2,3 and 2 " 00074 "constraints for activities C1,2,3. If A and B and C are simultaneous, remove only the constraints referring to B " 00075 "and C (but leave both for A, if for instance you have min 2 days with 95% and min 1 day with 100%)."); 00076 s+="\n\n"; 00077 s+=tr("More details: the combination of 2 or more redundant constraints min days between activities gives another " 00078 "resultant constraint, much stronger. From 3 redundant constraints with 95%, you get one with 100%5%*5%*5%=99.9875%, which is not what you want."); 00079 s+="\n\n"; 00080 s+=tr("Do not consider redundant constraints with the same activities but different number of days " 00081 "(you may want to add min 2 days 95% and min 1 day 95%, which gives in 95% cases the 2 days will be " 00082 "respected and in 99.75% cases the 1 day will be respected)."); 00083 s+="\n\n"; 00084 s+=tr("The other constraints (like preferred time(s) constraints) do not have the problem of redundancy like min " 00085 "days constraints, so no need to take care about them."); 00086 s+="\n\n"; 00087 s+=tr("It is IMPORTANT to remove redundant min days constraints after you inputted data and before generating " 00088 "(for instance, apply this after adding more constraints of type same starting time/day and before generating)." 00089 " Any modification of the min days constraints should be followed by this removal of redundant min days " 00090 "constraints (well, not all modifications, but better to do it than not). If you modify more constraints " 00091 "at once or apply the balancing of activities, it is important to remove redundant constraints. If you have " 00092 "no redundant constraints, it is no need to remove the redundant constraints, but better to check again than " 00093 "let some redundant constraints active."); 00094 s+="\n\n"; 00095 s+=tr("Note: redundant constraints min days with weight 100.0% do not really affect the generation. This is because the resultant of more constraints" 00096 " with weight 100.0% is also 100.0%. So, if your data contains only min days between activities constraints with 100.0% weight, there " 00097 "is no imperative need to remove redundant constraints." 00098 " But, again, better to remove redundant constraints as a precaution."); 00099 00100 s+="\n\n"; 00101 s+=tr("3) About constraints two activities grouped, two activities consecutive and three activities grouped:" 00102 " It is a bad practice to add such constraints if the involved activities are also constrained not to be in the same day" 00103 " by constraints min days between activities."); 00104 s+="\n\n"; 00105 s+=tr("If A1 and A2 are constrained not to be in the same day with 95% weight or any other weight, it is a bad practice " 00106 "to add a constraint grouped or consecutive to them. If they are constrained with weight 100% not to be in the same day, " 00107 "the timetable is impossible; if the weight is below 100%, the timetable is more difficult to find than using the correct way." 00108 " The correct way would probably be to consider A1 and A2 = a single activity A12', or to modify the related constraint " 00109 "min days between activities. Or maybe you can find other ways."); 00110 00111 plainTextEdit>setPlainText(s); 00112 }