- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 Gurobi Python API 将我的 OPL 模型转换为 Python。我想知道Python 中是否存在与OPL 元组结构等效的结构。最好举个例子:
tuple tup_Leg
{
key string Route;
key string Leg;
int Curr_Time;
int Max_Time;
int Min_Time;
float Cube;
}
{tup_Leg} set_Leg = DBRead(db,"Exec SPROC ?")(Param);'
Route和Leg是我的优化模型中的集合; Curr_Time、Min_Time、Max_Time 和 Cube 是在 Route 和 Leg 集上索引的参数。
在 OPL 中,由于我将 Route 和 Leg 定义为键,因此可以将它们视为集合,并且可以对它们进行索引。例如,要解决 Curr_Time,我可以这样做:
i.Curr_Time : i in set_Leg
我一直在努力在 Python 中找到与此等效的内容。到目前为止,我在 Python 中有以下内容:
import pyodbc
Param = 123
con = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server Native Client 10.0}', server = 'Server', database='db')
cur = con.cursor()
cur.execute("execute SPROC @Param =%d" %Param)
result = cur.fetchall()
tup_Leg = dict(((Route, Leg), [Curr_Time, Min_Time, Max_Time, Cube]) for Route, Leg, Curr_Time, Min_Time, Max_Time, Cube in result)
我不确定如何解决 Curr_Time 或 Min_Time 问题?到目前为止我已经:
for i,j in tup_Leg:
Curr_Time, Min_Time, Max_Time, Cube = tup_Leg[(i,j)]
除了听写之外,还有更好的方法吗?我想知道是否还有其他选项可以让我以 OPL 允许的方式处理表字段。
最佳答案
named tuples类似于 opl 元组。
from collections import namedtuple
TupLeg = namedtuple('TupLeg', ['route', 'leg',
'curr_time', 'min_time', 'max_time' 'cube'])
tup_legs = dict((result[0], result[1]), TupLeg(*result) for result in cur)
字典是一种很好的数据结构,用于通过路径、leg 访问 TupLeg 对象。您可以通过以下方式访问 curr_time
tup_legs[(i,j)].curr_time
itertools模块包含许多算法,允许您以类似于您习惯使用 opl 的方式访问字典和其他集合。
关于python - ILOG OPL 与 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17773989/
当我在 ilog jrules、reteplus 算法、顺序模式执行等中使用规则流时,我遇到了不同的执行模式。它们之间有什么区别。请不要让我引用 IBM 文档。我已经做了。一些其他简单的语言解释表示赞
谁能解释一下 ILOG JRULES 中技术规则和功能之间的实际区别是什么? 。据我所知,我们在功能上能实现的,在技术规则上也能实现。确切的区别是什么? 问候, 维诺斯·库马尔 T 最佳答案 这就像说
我一直在通过实现 TSP 问题来学习 Cplex Java API。我想创建随机权重在 50-1000 之间的对象,如下所示: public static IloLinearNumExpr gener
我正在使用来自 JAVA 的 ILOG CPLEX,我正在运行一个整数优化问题,大约需要 3 天才能完成 0.0%。我需要在一定的时间限制后终止程序,并为剩余的限制获得解决方案。谁能告诉我该怎么做?
我应该使用 ILog 还是 ILogger 接口(interface)?我发现 ILog 接口(interface)更易于使用,因为我可以通过调用为每个类声明一个实例: private ILog _l
我正在为第三方应用程序开发一个插件,对于这个插件的每次“运行”,我都想要一个独占的日志文件。 我构建了以下类。 public class LogFileRepository { private
我实现了一些规则,例如; 检查 ID。如果是在方便的日期, 然后添加相关组,例如aaaa 在操作规则中,检查项目是否在相关组中 添加消息或删除消息 但是我认为规则引擎使用一些表来添加新组并检查操作规则
我正在尝试使用 Gurobi Python API 将我的 OPL 模型转换为 Python。我想知道Python 中是否存在与OPL 元组结构等效的结构。最好举个例子: tuple tup_Leg
我是商业规则的新手。我想做一些与 ILOG JRules BRMS 相关的示例。我已经安装了执行服务器和团队服务器。现在如何开始使用 ILOG JRules? 有没有我可以学习如何制定规则的最佳博客/
我已在操作系统为 Red Hat Linux 的服务器上安装了 IBM ILOG v12.2 for Linux。我编写了 Java 接口(interface),当我在服务器上运行它时,显示以下错误:
问题的简要描述。我有很多对象,我们称这个对象为 X。每个 X 可以分配给多个容器 Y。每个 Y,每个 X 需要两个。每个 X 都有一个属性 L。每个 Y 都有其 L 级别的最低规范,即分配给特定 Y
我有一个 dll,它获取 ILog 的一个实例。 使用这个 ILog 实例,我想获取记录器正在写入的目录,因为我想在同一个文件夹中创建一个包含其他信息的文件。 我尝试了以下方法: var fa = _
我已经使用 ILOG Studio 制定了业务规则并将业务规则部署到 RES。现在我想在 java 项目中使用该业务规则。 使用Java调用/消费业务规则的方式有哪些,在java项目中需要导入哪些库?
如何从 ILOG JRules 调用 java 类?有什么办法或替代方案吗?请分享。 我们遇到的情况是,我们必须调用规则集中的 java 类方法。由于特定情况确实符合业务规则,因此我们需要调用 jav
我正在尝试使用 java 客户端在 IBM Jrule Rules 执行服务器中执行规则。我有Websphere社区版V2.1服务器,我可以使用部署在samae服务器中的JSF调用并执行规则。 我想使
我想创建一个日志,例如 System.out.println("RuleName : "+ruleName);在 IBM ODM 规则引擎中。 这就是我所做的; 1- 创建静态的 BOM 虚拟方法并获
我试图在 Ubuntu 14.04 上安装 Lemon。我按照他们文档中的说明进行操作。在“cmake ..”命令中,我得到如下错误 aniket@aniket-Lenovo-G50-45:~/lem
我从 Java 中的一个对象多次调用 IBM ILOG CPLEX。 经过几次 100-1000 次调用后,程序崩溃了。我已在下面附上日志文件的文本。 有人知道可能是什么问题吗?谢谢! A fatal
假设我们有这个接口(interface): public interface ILog { void Add(Message message); } 它当然也应该有一些方法来访问那些添加的消息
我使用以下代码为所有需要它的类注册 log4net。 public class LogInjectionModule : Module { private readonly string _c
我是一名优秀的程序员,十分优秀!