提前自动缩放的问题,在调用之前解决来解决这个问题手机万博登录
回答你好,
我们有一个模型代表的化学反应在一个单元中,我们使用各种MILP和LP问题,通常获得代谢通量(变量)通过化学反应。模型的一个问题是有很大差异的变量值(许多订单的大小),导致数值错误和其他问题。我认为这可能是解决,或者至少改善,通过扩展问题的行和列的矩阵。我明白,这是一个困难的问题。但在我们的例子中,我们只需要做一次,因为矩阵(表示化学反应在细胞)运行之间并没有多大的变化。我知道这是为每个运行困难。但是有办法运行一次,并获得良好的行和列的比例因素?没关系如果这要花三个星期运行呢?
最好的,
约翰
-
嗨,约翰,
不,没有办法Gurobi出口比例因素。比例是相当便宜,特别是解决实例相比,所以我不认为你将受益于跳过这一步。
同时,扩展不能删除所有数值问题模型。如果你的变量出现不同大小你应该调整你的模型,来代替。也许一个两步的方法可以工作,将模型分为两个(或更多)的部分。
在任何情况下,你应该检讨我们的数值问题指南。
我希望有帮助。
欢呼,
马蒂亚斯0 -
好的,谢谢,我调查了这个页面。它没有直接帮助我,但我想我可能理解我的问题好一点。我认为我想要做的是以下几点:
1。我想参加的问题(我的新陈代谢模型),所有行和列和规模变化降到最低级的行和列。
2。我将添加更多的变量和约束条件,比如,一些反应需要一个通量> 0.1,这意味着一个变量值> 0.1。我将增加一堆类似的限制,一些包括布尔和连续变量的混合。
问题是,我需要固定反应的限制(变量),如> 0.1,但是如果我没有做步骤1的比例,这个值是不同的不同的反应(变量)来避免数值问题,很难找出这些值。所以,我的问题是:有一个好的算法最小化变量值的大小的变化通过应用扩展吗?我意识到我可以手动理论上这样做,但自5000 x8000矩阵,它有点挑战性。它不一定是完美的,只是改善现状。0 -
嗨,约翰,
延迟道歉。这是一个有趣的想法。你的意思是喜欢一个自动化工具吗先进user-scaling吗?如果是这样,我一直在玩着一个想法,可能是有用的。你有模型(mps / lp文件)可以与我分享,突出坏数字?
你的模型和数据的安全对我们非常重要。最安全的方法发送的模型是通过上传页面Gurobi网站:- 去//m.a-toku.com
- 登录到你的Gurobi账户
- 从支持菜单中,选择“上传”
Gurobi支持团队将通知当文件已经上传。文件存储在一个安全的服务器上。你的文件将由Gurobi只能支持,开发人员和IT人员。我们已经学会了在一个安全的方式来处理这些文件。0 -
嗨,史蒂文,谢谢你的回应!现在我已经解决了我的问题:)。我所做的是残酷地改变我的模型通过简单地改变x1 + 0.000001 x2等类似x1 + 0.01 x2 -它并不重要的具体案例我解决。它犯了一个巨大的差异对性能——所有的技巧我,这是最有效的。所以从我的角度来看,我不需要这个了,这个项目已经完成。但如果你有兴趣发展中作为产品的一部分,那么也许我可以帮助提供一些模型。在这种情况下,请让我知道。但是,认为通过用例。我要求是一个算法,我为了实现自己在上面的层中Gurobi。当时的想法是做一次我的模板模型这一层运行Gurobi时加快速度,但这模板模型不是Gurobi模型,但其他东西。 The template model is used together with other data (various constraints etc.) to generate a Gurobi model. I have for example solved > 20,000 problems based on the template model, but for each of those I sent in a unique Gurobi model. So, my thought was to run this scaling optimization once on the template model, which would speed up the > 20,000 runs in Gurobi - it doesn't matter so much if that one run is a bit slow. So in my case, I would then need to transform my template model into a Gurobi model somehow, run this, and get the scaling back, so I could apply it to my template.
所以,别为我这样做,但如果你认为这是一个很好的Gurobi特性,来吧:)
0
请登录留下你的评论。
评论
4评论