Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >GEKKO“内存分配失败”

GEKKO“内存分配失败”
EN

Stack Overflow用户
提问于 2022-03-18 09:37:14
回答 1查看 232关注 0票数 2

我试图使用盖科在本地(使用remote=False)解决一个相当大的优化问题。

在运行代码时,我得到了错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Error: At line 463 of file custom.f90
Traceback: not available, compile with -ftrace=frame or -ftrace=full
Operating system error: Not enough memory resources are available to process this command.

Memory allocation failed

因此,这意味着操作系统不允许GEKKO使用足够的内存。

然而,我使用的是一台32 GB的RAM机器,有将近25 GB的空闲空间,而该型号甚至不需要10 GB。

我试过使用m.options.MAX_MEMORY = 10,但这似乎并不重要。

关于如何允许它分配更多内存的想法吗?

下面是一些触发此错误的(简化)代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from gekko import GEKKO

quantiles = [(x+1)*.01 for x in range(300)]

#Initialize Model
m = GEKKO(remote=False)
#Set global options
m.options.IMODE = 3 #steady state optimization    
m.options.SOLVER=3
m.options.MAX_ITER=100000
m.options.MAX_MEMORY = 10
m.options.REDUCE=10

#initialize variables
Est_array = m.Array(m.Var,(2, 16),value=1,lb=0,ub=48)
P_ij_t = m.Array(m.Var,(4, 16, 300), lb=0, ub=1)   
Exp_ij_t = m.Array(m.Var,(4, 16, 300),value=1,lb=-36,ub=36)   
C_t = m.Array(m.Var,300,lb=0,ub=5) 

#Equations
for h in range(16): 
    for q in range(300):
        m.Equation(m.sum([P_ij_t[i,h,q] for i in range(3)]) == 1)

for (q,t) in enumerate(quantiles):
    m.Equation(C_t[q] == (  m.sum([P_ij_t[i+2,h,q]*(Est_array[i,h]-t)**2 for i in range(2) for h in range(16)]) + \
                            m.sum([P_ij_t[i,h,q]*(Est_array[1-i,15-h]-t)**2 for i in range(2) for h in range(16)]) 
    )  
    )
   
#Objective
m.Minimize(C_t[0])

#Solve simulation
#m.open_folder() 
m.solve()

#Results
print('C = ' + str(C_t[0].value[0]))

(所有的m.options.*参数都是我试图让求解器运行的东西,但似乎没有一个参数有助于解决内存分配问题)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-22 09:29:23

Windows二进制文件是32位的,而Linux、MacOS和ARM Linux在使用Gekko remote=False时是64位可执行文件。使用remote=True,它运行在一个拥有64 GB内存并使用64位可执行文件的Linux服务器上。由于32位可执行文件,Windows二进制文件的内存限制问题高达4GB。64位可执行文件的容量为160亿GB (无限制).64位的Windows本地可执行文件是一个计划中的开发,并有一个未来的版本。Linux或APM Linux服务器 (例如主机IP 10.0.0.10)是那些需要使用Windows客户端在本地网络上解决大型问题的人的选择。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
m = GEKKO(remote=True, server='https://10.0.0.10')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71531080

复制
相关文章
Java 指定日期和日期间隔,返回间隔 之前 | 之后 的日期
public class DateUtil { /** * 指定日期和日期间隔,返回间隔之前的日期 * @param specifiedDay * @param interval * @return */ public static String getSpecifiedDayAgo(String specifiedDay, int interval){ return getSpecifiedDay(specifiedDay
大数据工程师-公子
2019/03/14
2.6K0
bootstrap 日期控件起始日期&结束日期相互约束
使用bootstrap的日期控件需要单独引入bootstrap-datetimepicker.min.css和bootstrap-datetimepicker.min.js 详情及文件可以通过下面地址下载:http://www.bootcss.com/p/bootstrap-datetimepicker/index.htm
程序新视界
2022/05/06
3K0
bootstrap 日期控件起始日期&结束日期相互约束
微信小程序日期选择器(起始日期与终止日期)轮子复制粘贴直接用————modal组件
先上图。 每次开始默认获取当前选择的日期。 wxml <view class="beijing"> <view class="second"> <view class="second_1"> <view class="second_1_1"> <button bindtap="begin" type="primary">点击重选</button> </view> <view class="second_1_2">
啦啦啦啦
2023/02/11
7120
微信小程序日期选择器(起始日期与终止日期)轮子复制粘贴直接用————modal组件
Oracle中的日期间查询
在Oracle中,如果要进行日期间的查询需要用到Oracle的内置函数to_date()。
陈树义
2022/04/29
3.6K0
【爬虫军火库】生成指定日期间的日期列表
今天没能空下来时间写太多,所以只简单记录一个很具体的需求: 指定了起止日期,如何生成一个日期列表。 这个需求是我之前在抓取一个环保的历史数据时遇到的: 如图,在这个页面上,我们需要手动通过日期控件选
不二小段
2018/04/08
1.4K0
【爬虫军火库】生成指定日期间的日期列表
拉链表起始时间转成多行日期
dataphin拉链表起始时间转成多行日期: (ps:dataphin split()怎么都识别不出空格,自闭了。。。替换成字符解决了)
chimchim
2022/11/13
4080
js根据起始日期加间隔天数计算出结束日期
getNewDay(dateTemp, days) { dateTemp = dateTemp.split("-"); //转换为MM-DD-YYYY格式 var nDate = new Date(dateTemp[1] + "-" + dateTemp[2] + "-" + dateTemp[0]); var millSeconds = Math.abs(nDate) + days * 24 * 60 * 60 * 1000; var rDa
Wyc
2023/03/23
6.3K0
js根据起始日期加间隔天数计算出结束日期
如何设置Code39码的起始码和终止码星号
Code 39码支持26个英文大写字母(A-Z),十个数字(0-9),以及符号(-、.、_(空)、*、$、/、+、%)。可以对任意长度的数据进行编码,Code 39码用于物流跟踪、生产线流程等方面,是比较常用的条形码类型之一。39码的起始码和终止码为固定的星号“*”,即39码前后各有一个星号“*”来标识条形码的开始和结束。下面我们就介绍如何设置这个起始码和终止码。
神奇像素科技
2022/01/13
1.3K0
如何设置Code39码的起始码和终止码星号
datepicker 日期连续选择(需要改源码)
先上效果: 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml
deepcc
2018/05/16
1.6K0
MySQL获取当前时间与日期间隔[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/08
6.9K0
python 获取n天前的日期和日期列表
import datetime def get_nday_list(n): import datetime before_n_days = [] for i in range(1, n + 1)[::-1]: before_n_days.append(str(datetime.date.today() - datetime.timedelta(days=i))) return before_n_days
用户5760343
2022/05/13
3.2K0
Power Query如何计算两个日期间隔月数
(Date.Year([止])-Date.Year([起]))*12+Date.Month([止])-Date.Month([起])
wujunmin
2021/09/07
2.4K0
Power Query如何计算两个日期间隔月数
当前日期得到本周的开始和结束日期
本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。
Java架构师必看
2021/03/22
2.8K0
golang如何计算两个日期之间的日期差?
golang如何计算两个日期之间的日期差? 日期格式:“2017-09-01” ,“2018-03-11”
双面人
2022/09/28
7.4K0
Java 实现将连续的日期 按照天数进行分割
目录 1 工具类 2 实现 1 工具类 public static List<Map<String,Object>> getCycleList(int cycleNum, String startTime, String endTime) throws ParseException, ParseException { System.out.println("统计的时间段为:从"+startTime+"到"+endTime); Date endParse = new
一写代码就开心
2023/02/13
1.7K0
Java 实现将连续的日期 按照天数进行分割
如何用Python获取两个日期之间的日期?
问:如何用Python获取两个日期之间的日期? def date_range(start, end): delta = end - start # as timedelta days = [start + timedelta(days=i) for i in range(delta.days + 1)] return days start_date = datetime(2020, 12, 1) end_date = datetime(2020, 12, 5) print(d
TalkPython
2020/12/11
5.8K0
Power Pivot中如何计算具有相同日期数据的移动平均?
解释:这里需要2个条件,除了日历条件,还需要添加一个日期是否有值的条件,也就是汇总金额这里需要为非空。
逍遥之
2020/03/24
3.1K0
Power Pivot中如何计算具有相同日期数据的移动平均?
EXCEL中日期对应的数值如何转换为ABAP中的日期
默认情况下,Excel把1900-1-1 0:00:00存储为1,把1900-1-1 0:00:00以后的每一个时刻存储为该时刻与1900-1-1 0:00:00这个时刻的差值(以天为单位)。
matinal
2023/10/13
2430
python获取日期加减之后的日期
python语言中的datetime模块可以利用其中的方法获取不同的日期,比如获取当前日期、明天、昨天、上个月、下个月和明年。下面利用几个实例说明这些日期的获取方法,操作如下:
周小董
2019/03/25
10.9K0
python获取日期加减之后的日期
Power Pivot智能日期运用——连续时间(1)
(八) 连续时间 1. Datesinperiod A. 语法 DATESINPERIOD ( <Dates>, <StartDate>, <NumberOfIntervals>, <Interval> ) 位置 参数 描述 第1参数 Dates 需要计算的日期列 第2参数 StartDate 开始时间,日期表达式 第3参数 NumberOfIntervals 一个整数数字 第4参数 Interval 时间类型(年季月日) B. 返回 表——单列时间数据的表 C. 注意事项 返回的结果日期必须是第1参数范
逍遥之
2020/03/24
7170

相似问题

起始日期和终止日期

30

在Oracle中具有给定期间的起始日期和终止日期的周列表

10

如何从flatpicker获取起始日期和终止日期?

128

获取多个起始/终止日期的日期范围

12

是否验证起始日期和终止日期?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文