67 assert(pDataModel != NULL);
83 mpEditEvaluations->setText(QString::number(FunctionEvaluations));
85 mpEditCPUTime->setText(QString::number(ExecutionTime));
86 mpEditSpeed->setText(QString::number(FunctionEvaluations / ExecutionTime));
96 QTableWidgetItem * pItem;
101 mpParameters->setRowCount((
int) imax);
103 QColor BackgroundColor = mpParameters->palette().brush(QPalette::Active, QPalette::Base).color();
106 BackgroundColor.getHsv(&h, &s, &v);
113 BackgroundColor.setHsv(0, s, v);
115 for (i = 0; i != imax; i++)
124 pItem =
new QTableWidgetItem(
"Not Found");
126 mpParameters->setItem((
int) i, 0, pItem);
128 const C_FLOAT64 & Solution = Solutions[i];
131 pItem =
new QTableWidgetItem(
FROM_UTF8(Items[i]->getLowerBound()));
132 mpParameters->setItem((
int) i, 1, pItem);
134 if (1.01 * *Items[i]->getLowerBoundValue() > Solution)
136 pItem->setBackgroundColor(BackgroundColor);
140 pItem =
new QTableWidgetItem(QString::number(Items[i]->getLastStartValue()));
141 pItem->setForeground(QColor(120, 120, 140));
142 mpParameters->setItem((
int) i, 2, pItem);
145 pItem =
new QTableWidgetItem(QString::number(Solution));
146 mpParameters->setItem((
int) i, 3, pItem);
149 pItem =
new QTableWidgetItem(
FROM_UTF8(Items[i]->getUpperBound()));
150 mpParameters->setItem((
int) i, 4, pItem);
152 if (0.99 * *Items[i]->getUpperBoundValue() < Solution)
154 pItem->setBackgroundColor(BackgroundColor);
157 pItem =
new QTableWidgetItem(QString::number(Gradients[i]));
158 mpParameters->setItem((
int) i, 5, pItem);
161 mpParameters->resizeColumnsToContents();
162 mpParameters->resizeRowsToContents();
169 C_INT32 Answer = QMessageBox::No;
172 while (Answer == QMessageBox::No)
176 "untitled.txt",
"TEXT Files (*.txt)",
"Save to");
178 if (fileName.isEmpty())
return;
183 if (Answer == QMessageBox::Cancel)
return;
188 if (file.fail())
return;
193 file <<
"Objective Value" << std::endl;
196 file <<
"Function Evaluations\tCPU Time [s]\tEvaluations/second [1/s]" << std::endl;
199 file << FunctionEvaluations <<
"\t";
200 file << ExecutionTime <<
"\t";
201 file << FunctionEvaluations / ExecutionTime << std::endl << std::endl;
204 file <<
"Parameters:" << std::endl;
205 file <<
"Parameter\tLower Bound\tStart Value\tValue\tUpper Bound\tGradient" << std::endl;
208 imax = mpParameters->rowCount();
210 for (i = 0; i != imax; i++)
212 file <<
TO_UTF8(mpParameters->item((
int) i, 0)->text()) <<
"\t";
213 file <<
TO_UTF8(mpParameters->item((
int) i, 1)->text()) <<
"\t";
214 file <<
TO_UTF8(mpParameters->item((
int) i, 2)->text()) <<
"\t";
215 file <<
TO_UTF8(mpParameters->item((
int) i, 3)->text()) <<
"\t";
216 file <<
TO_UTF8(mpParameters->item((
int) i, 4)->text()) <<
"\t";
217 file <<
TO_UTF8(mpParameters->item((
int) i, 5)->text()) << std::endl;
CCopasiObject * getDataObject(const CCopasiObjectName &CN) const
virtual std::string getObjectDisplayName(bool regular=true, bool richtext=false) const
CCopasiProblem * getProblem()
const CVector< C_FLOAT64 > & getVariableGradients() const
const COptProblem * mpProblem
virtual bool enterProtected()
const C_FLOAT64 & getSolutionValue() const
virtual bool update(ListViews::ObjectType objectType, ListViews::Action action, const std::string &key)
const C_FLOAT64 & getExecutionTime() const
const std::vector< COptItem * > & getOptItemList() const
C_INT32 checkSelection(const QString &file)
static CCopasiVector< CCopasiDataModel > * getDatamodelList()
const CVector< C_FLOAT64 > & getSolutionVariables() const
static CLocaleString fromUtf8(const std::string &utf8)
CQOptimizationResult(QWidget *parent=0, const char *name=0)
const unsigned C_INT32 & getFunctionEvaluations() const
static QString getSaveFileName(QWidget *parent=0, const char *name=0, const QString &startWith=QString::null, const QString &filter=QString::null, const QString &caption=QString::null, QString *pSelectedFilter=NULL, QFileDialog::Options options=0)