我使用Python中APM的Gekko解决了优化问题。两个主要决策变量(DV)是大型数组。该问题已成功收敛,但是,我需要在excel工作表中将这些表的结果用于进一步的工作。
示例变量名称为's'
。由于在Gekko
中创建的数组是GKVariable / Object变量类型,因此我不能简单地使用:
pd.DataFrame(s).to_csv(r'C:\Users\...\s.csv')
因为结果为数组的每个单元提供了模型中定义的每个变量(即v1,v2等)的标签
在内核中使用print 's'
将显示来自优化结果的数组编号,但格式会由于列数众多而不能保证每一行都是矩阵的新行。
是否存在另一种解决方案,仅复制DV的结果值,使其成为普通的np.array
而不是对象类型变量?对此开放任何想法。
答案 0 :(得分:1)
您可以使用SparkServiceProvider
IMODE = 1 Spark::swap('CreateTeam@rules', function () {
return [
'name' => 'required|max:255',
'city' => 'required|max:255',
'state' => 'required|max:255',
];
});
Spark::swap('CreateTeam@validator', function ($user, array $data) {
$validator = \Validator::make($data, Spark::call(static::class.'@rules'));
$validator->sometimes('slug', 'required|alpha_dash|max:255|unique:teams,slug', function () {
return Spark::teamsIdentifiedByPath();
});
$validator->after(function ($validator) use ($user) {
$this->validateMaximumTeamsNotExceeded($validator, $user);
});
return $validator;
});
IMODE = 3 s[i].value[0]`` for steady state problems (
s [i] .value [:]```来访问所有其他{{ 3}}。这是一个简单的示例,将结果写入带有pandas和numpy的文件中。
or