首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在python中编写非负流变量

在python中编写非负流变量
EN

Stack Overflow用户
提问于 2019-12-07 13:07:48
回答 1查看 115关注 0票数 0

我正在用Python语言和Gurobi解决设施问题,其中一个决策变量是一个非负流变量g_ij > 0,用于表示设施之间的连接。也就是说,当且仅当y_i = 1y_j = 1时为g_ij > 0,如果设施位于站点i,则为y_i = 1,否则为0

我的约束之一是g_ij*(d_ij - k) >= 0

其中:

g_ij是非负流变量

d_ij是设施点ij之间的距离(以公里为单位

kXkm

也就是说,设施点ij之间的最大允许距离为Xkm

我将变量g_ij作为一个具有下界0和上界1的连续变量

代码语言:javascript
运行
AI代码解释
复制
m = Model("flowTest")
n = 10
g = {}

for i in range(n):
    for j in range(n):
        g[(i,j)] = m.addVar(lb=0, ub=1, vtype=GRB.CONTINUOUS, name="g%d%d" % (i,j))

以及约束条件:

代码语言:javascript
运行
AI代码解释
复制
for i in range(n):
    for j in range(n):
        m.addConstr(g[(i,j)] * (d[(i,j)] - k) >= 0)

但我得到了一个不可行的解决方案。我非常确定这是因为g_ij flow变量。

有谁能发现错误或建议我如何对g_ij变量进行编程?

EN

回答 1

Stack Overflow用户

发布于 2020-01-08 09:29:19

您对最大距离的约束是错误的:

如果d_ij是设施点之间的距离,k是您允许的最大距离,那么您的约束应该是:g_ij*(k - d_ij) >= 0而不是g_ij*(d_ij - k) >= 0

否则,如果d_ijk内,则术语<= 0将始终为k,这意味着g_ij不能为正。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59226292

复制
相关文章
非负矩阵分解NMF
non-negative matrix factorization,简写为NMF, 翻译为非负矩阵分解,属于矩阵分解的一种算法。在特征分解,SVD等传统的矩阵分解技术中,分解后的矩阵会出现负值,但是负值在实际场景中是没有意义的,比如在图像处理领域,图像是由像素点构成的矩阵,每个像素点由红,绿,蓝的比例构成,这些数值都是非负数,在对分解处理得到的负值并没有实际意义。
生信修炼手册
2021/04/14
1.2K0
优雅的在终端中编写Python
專 欄 ❈PytLab,Python 中文社区专栏作者。主要从事科学计算与高性能计算领域的应用,主要语言为Python,C,C++。熟悉数值算法(最优化方法,蒙特卡洛算法等)与并行化 算法(MPI,OpenMP等多线程以及多进程并行化)以及python优化方法,经常使用C++给python写扩展。 blog:http://ipytlab.com github:https://github.com/PytLab ❈ 前言 最早我也只是在服务器上编辑文件的时候用用vim来改改程序,并没有把vim当做自己的主力
Python中文社区
2018/01/31
1.7K0
优雅的在终端中编写Python
Python怎么输入小数和整数_python输入非负整数
*这个实验算是五个正则表达式里面最难的的哪一个了,?是正则表达式里面贪婪与非贪婪的概念,有?则-?可有可无,刚好可以用于判断正数和负数,.在正则表达式里面表示的是任意字符(空格除外),因此如果要想表示小数点,需要加上以恶搞转义字符\,而区分整数和小数这两种情况,则需要加上一个|符号,表示前面的字符出现0次一次,+表示前面的字符出现1次以上
全栈程序员站长
2022/09/27
2K0
优雅的在终端中编写Python
最早我也只是在服务器上编辑文件的时候用用vim来改改程序,并没有把vim当做自己的主力编辑器。但是偶然的一次机会需要改一个奇葩的输入文件的格式,用了下Vim的宏录制,尝到了甜头,于是后面就开始用Vim来写程序了,虽然使用初期有些阻力,但时间久了就会发现,双手再也不用离开键盘,即使使用sublime这样的编辑器我也要改成使用Vim模式,Vim真的能让自己一思维的速度编辑文本(对我来说就是写程序了)。
用户1332428
2018/07/26
1.9K0
优雅的在终端中编写Python
NMF(非负矩阵分解)算法
NMF,非负矩阵分解,它的目标很明确,就是将大矩阵分解成两个小矩阵,使得这两个小矩阵相乘后能够还原到大矩阵。而非负表示分解的矩阵都不包含负值。
AIHGF
2019/02/18
2.5K0
推荐算法——非负矩阵分解(NMF)
一、矩阵分解回顾 image.png 二、非负矩阵分解 2.1、非负矩阵分解的形式化定义 image.png 2.2、损失函数 image.png 2.3、优化问题的求解 image.png imag
felixzhao
2018/03/20
1.8K0
推荐算法——非负矩阵分解(NMF)
负margin在页面布局中的应用
在页面中经常会遇到两列的情况,比如说左侧栏固定宽度,右侧栏自适应宽度,此时可以用flex布局的方式,但是这种方式在ie8上不兼容,但是也可以用table。这里我们来说用margin的负值来实现两栏布局。
OECOM
2020/07/01
1.1K0
【机器学习】NMF(非负矩阵分解)
  本篇文章主要介绍NMF算法原理以及使用sklearn中的封装方法实现该算法,最重要的是理解要NMF矩阵分解的实际意义,将其运用到自己的数据分析中!
全栈程序员站长
2022/07/04
1.7K0
【机器学习】NMF(非负矩阵分解)
推荐算法——非负矩阵分解(NMF)
在博文推荐算法——基于矩阵分解的推荐算法中,提到了将用户-商品矩阵进行分解,从而实现对未打分项进行打分。矩阵分解是指将一个矩阵分解成两个或者多个矩阵的乘积。对于上述的用户-商品矩阵(评分矩阵),记为Vm×nV_{m\times n},可以将其分解成两个或者多个矩阵的乘积,假设分解成两个矩阵Wm×kW_{m\times k}和Hk×nH_{k\times n},我们要使得矩阵Wm×kW_{m\times k}和Hk×nH_{k\times n}的乘积能够还原原始的矩阵Vm×nV_{m\times n}:
felixzhao
2019/02/13
1.5K0
学习笔记 | 非负矩阵分解(NMF)浅析
概要: 这篇博客和博客 学习笔记|主成分分析[PCA]及其若干应用、学习笔记|独立成分分析(ICA, FastICA)及应用 属于一个系列,简单地介绍非负矩阵分解(Non-negative Matrix Factorization, NMF)。 关键字: 非负矩阵分解; NMF
全栈程序员站长
2022/09/13
4K0
R语言实现非负矩阵分析
著名的科学杂志《Nature》于1999年刊登了两位科学家D.D.Lee和H.S.Seung对数学中非负矩阵研究的突出成果。该文提出了一种新的矩阵分解思想――非负矩阵分解(Non-negative Matrix Factorization,NMF)算法,即NMF是在矩阵中所有元素均为非负数约束条件之下的矩阵分解方法。
一粒沙
2019/07/31
6.5K3
R语言实现非负矩阵分析
【技术分享】非负最小二乘
spark中的非负正则化最小二乘法并不是wiki中介绍的NNLS的实现,而是做了相应的优化。它使用改进投影梯度法结合共轭梯度法来求解非负最小二乘。 在介绍spark的源码之前,我们要先了解什么是最小二乘法以及共轭梯度法。
腾讯云TI平台
2020/02/12
3.9K0
Python 异步: 在非阻塞子进程中运行命令(19)
asyncio.subprocess.Process 类提供了由 asyncio 运行的子进程的表示。它在 asyncio 程序中提供子进程的句柄,允许对其执行操作,例如等待和终止它。
数据科学工厂
2023/03/21
3.1K0
Python 异步: 在非阻塞子进程中运行命令(19)
在Python中实现Excel的单变量求解功能
Excel提供了一个很好的功能——单变量求解,当给出最终结果时,它允许反向求解输入值。它是一个方便的工具,因此今天我们将学习如何在Python中实现单变量求解。
fanjy
2022/04/13
3.3K0
在Python中实现Excel的单变量求解功能
此流非彼流——Stream详解
Java从8开始,不但引入了Lambda表达式,还引入了一个全新的流式API:Stream API。它位于java.util.stream包中。
说故事的五公子
2021/01/21
5680
负二项分布在差异分析中的应用
无论是DESeq还是edgeR, 在文章中都会提到是基于负二项分布进行差异分析的。为什么要要基于负二项分布呢?
生信修炼手册
2020/05/08
2.2K0
负二项分布在差异分析中的应用
Vue3中非响应式变量在响应式变量更新后也会被刷新的问题
在调用 changeMsg 方法后页面如预期内没有刷新,但在调用 changeCounter 方法后,除预期内 counter 对象会被刷新以外,非响应式变量 msg 也一同被刷新了
MashiroT
2023/10/18
4260
使用Python编写和提交Argo工作流
Python 是用户在 Kubernetes 上编写机器学习工作流的流行编程语言。
CNCF
2021/02/23
1.5K0
使用Python编写和提交Argo工作流
python中的变量
  什么是变量?总结不好也记不得它的完整定义,就举个例子来便于自己学习总结吧。假如我们要计算1+2的值,那么首先在内存中要存储两个值,一个是:1,一个是:2。内存中有了这两个值,计算的时候就会找到它们进行计算。但是我们可能是计算任意两个数相加,数学中我们常用 x+y 来表示两个任意的数相加。假如在程序中我们用a+b来表示两个数相加,那么当a=1,b=2时,就可以计算出1+2=3,此时这个a和b就是变量,它们也可以等于其他数值,结果也是随着数值的改变而改变的。a和b的值能变动,就叫变量。刚才说了内存中存了1和2,那么a和b与内存中的1和2有什么联系呢,可以理解为a=1,b=2就是把内存中的1取个名字叫a,内存中的2取个名字叫b。这样按名字就能找到它的值了。
py3study
2020/01/19
2.6K0
python中的变量
python中的变量
本文介绍了Python中的变量和运算符,包括整数、浮点数、布尔数、字符串和列表等数据类型的操作和应用。同时,还介绍了Python中的字符串格式化、运算符的优先级和字符串的切片等知识点。
企鹅号小编
2017/12/28
2.8K0
python中的变量

相似问题

在Python中检查非负偶数

50

力变量在Fipy中为非负变量

11

python中的非负函数

11

AMPL中的非负偏差变量

10

在python中查找最大非负子网格

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档