下载安装COPT+如何在jupyter中使用(安装心得,windows,最新7.2版本)

目录

1.到杉树科技官网申请下载COPT

2.安装COPT&配置许可文件

3.在jupyter中使用COPT的python接口


最近看到一本和数学建模有关的新书:《数学建模与数学规划:方法、案例及编程实战》,作为数学建模老手,肯定要学习一下,这本书是国内为数不多的针对优化、规划类数学建模问题的实战教材,使用python语言,COPT和GUROBI求解器。

之前一直使用gurobi求解规划问题,这次正好是一个学习国产求解器杉树COPT的好机会,遂安装试用。以下是自己快速下载、安装的过程,从下载到安装到Anaconda自定义的环境中总花费时间不超过20分钟。

1.到杉树科技官网申请下载COPT

试用杉数求解器COPT-杉数科技

学生可以凭借学校邮箱申请学术用户,365天免费试用。

按照指示填写信息即可:

注意填写用户账号的时候,windows直接打开cmd窗口,可以得到计算机用户名,杉树官网下面也给出了具体获取的步骤,很贴心,这一步是因为软件的license试用许可仅在一台机器使用,并且会绑定计算机的用户名。

echo %USERNAME%

2.安装COPT&配置许可文件

点击提交申请之后,就可以在自己的学生邮箱中查看邮件了,邮记得下载软件许可文件和安装包。邮件里面有两个下载链接,直接下载这个-installer的压缩包就行,解压之后运行安装程序,可以自动完成一些安装工作(在邮件里面没有解释,在用户手册里面有解释,邮件里面有两个下载链接,-installer可以自动给配置环境变量。用户册在安装的位置下的docs/copt-userguide_cn.pdf

解压-installer文件夹,双击下面的安装程序,进行安装

安装程序安装过程简单,只需注意安装位置的选择即可,可以默认C盘,也可自定义安装位置。注意,安装之后要重启计算机,注意保存其它文件。

到这还没完,还要配置许可文件,在用户目录下(用户目录C:\Users\用户名)新建一个名为copt的文件夹,将邮件中的license.dat和license.key移动到这个文件夹下(这个步骤在用户手册的第16页,直接看16页就行)

注:用户手册14页应该是有个问题,邮件里面有许可文件了,应该不需要获取许可了,应该是少打了一个“无”字,杉树老师们可以看过来,是不是可以给用户手册勘误一下。

最后验证一下安装配置是否完成(用户手册20页),打开cmd,输入copt_cmd,显示以下界面,即可。

3.在jupyter中使用COPT的python接口

这里由于我只想安装到我自己已有的anaconda环境中,步骤如下:

打开Anaconda powershell Prompt

conda activate 环境名称
cd E:/copt72/lib/python
python setup.py install

就是先激活自己的环境,然后进入自己的copt安装文件位置下的python文件夹,运行里面的setup.py文件,即可安装coptpy和相关依赖包。

最后,验证是否能使用,cd进入安装文件夹下的examples/python文件夹,运行lp_ex1.py文件,显示如下的计算结果,证明安装coptpy包安装成功

最后可以打开jupyter,写一下示例代码,没有报错,执行成功!可以继续按照书进行学习啦!

import coptpy as cp
from coptpy import COPT# Create COPT environment
env = cp.Envr()# Create COPT model
model = env.createModel("lp_ex1")# Add variables: x, y, z
x = model.addVar(lb=0.1, ub=0.6, name="x")
y = model.addVar(lb=0.2, ub=1.5, name="y")
z = model.addVar(lb=0.3, ub=2.8, name="z")# Add constraints
model.addConstr(1.5*x + 1.2*y + 1.8*z <= 2.6)
model.addConstr(0.8*x + 0.6*y + 0.9*z >= 1.2)# Set objective function
model.setObjective(1.2*x + 1.8*y + 2.1*z, sense=COPT.MAXIMIZE)# Set parameter
model.setParam(COPT.Param.TimeLimit, 10.0)# Solve the model
model.solve()# Analyze solution
if model.status == COPT.OPTIMAL:print("Objective value: {}".format(model.objval))allvars = model.getVars()print("Variable solution:")for var in allvars:print(" x[{0}]: {1}".format(var.index, var.x))print("Variable basis status:")for var in allvars:print(" x[{0}]: {1}".format(var.index, var.basis))# Write model, solution and modified parameters to file
# model.write("lp_ex1.mps")
# model.write("lp_ex1.bas")
# model.write("lp_ex1.sol")
# model.write("lp_ex1.par")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/57918.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于“互联网+”医养结合的智慧养老实训室建设方案

一、建设背景 根据国家统计局的数据&#xff0c;截至2023年末&#xff0c;我国60岁及以上的老年人口已达到29,697万人&#xff0c;占总人口的21.1%&#xff1b;其中&#xff0c;65岁及以上的人口为21,676万人&#xff0c;占总人口的15.4%。这一数据表明&#xff0c;我国正面临…

为什么需要MQ消息系统,mysql 不能满足需求吗?

大家好&#xff0c;我是锋哥。今天分享关于【为什么需要MQ消息系统&#xff0c;mysql 不能满足需求吗&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; 为什么需要MQ消息系统&#xff0c;mysql 不能满足需求吗&#xff1f; 1000道 互联网大厂Java工程师 精选面试…

计算机网络-以太网小结

前导码与帧开始分界符有什么区别? 前导码--解决帧同步/时钟同步问题 帧开始分界符-解决帧对界问题 集线器 集线器通过双绞线连接终端, 学校机房的里面就有集线器 这种方式仍然属于共享式以太网, 传播方式依然是广播 网桥: 工作特点: 1.如果转发表中存在数据接收方的端口信息…

C/C++常用编译工具链:GCC,Clang

目录 GNU Compiler Collection GCC的优势 编译产生的中间文件 Clang Clang的特点 什么是LLVM&#xff1f; Clang编译过程中产生的中间表示文件 关于Clang的调试 C 编译工具链中有几个主要的编译工具&#xff0c;包括&#xff1a; GNU Compiler Collection (GCC…

NNLM——预测下一个单词

一、原理篇 NNLM&#xff08;Neural Network Language Model&#xff0c;神经网络语言模型&#xff09;是一种通过神经网络进行语言建模的技术&#xff0c;通常用于预测序列中的下一个词。 NNLM的核心思想是使用词嵌入&#xff08;word embedding&#xff09;将词转换为低维向…

【C++】类和对象(十二):实现日期类

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解C的实现日期类&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 1 /!/>/</>/<运算符重载2 /-//-运算符重载(A) 先写&#xff0c;再通过写(B…

KTHREAD--InitialStack和KernelStack和TSS的esp0

InitialStack和TSS.esp0的关系,在这里可以看到 mov ecx, [esi_KTHREAD.InitialStack] ; esi: newthread lea eax, [ecx-210h] ; 越过FPXSAVE指令存储地址 test byte ptr [eax-1Ah], 2 ; 判断efalgs寄存器的VIF位是否为1 jnz short loc_458743 sub eax, 10h…

xlrd.biffh.XLRDError: Excel xlsx file; not supported

文章目录 一、问题报错二、报错原因三、解决思路四、解决方法 一、问题报错 在处理Excel文件时&#xff0c;特别是当我们使用Python的xlrd库来读取.xlsx格式的文件&#xff0c;偶尔会遇到这样一个错误&#xff1a;“xlrd.biffh.XLRDError: Excel xlsx file; not supported”。…

二叉树进阶-二叉搜索树

目录 1.二叉树的概念 2.二叉搜索树的操作 2.1二叉搜索树的结构 2.2实现节点的查找&#xff08;find&#xff09; 2.3实现增加节点&#xff08;insert&#xff09; 2.4实现删除节点&#xff08;erase&#xff09; 2.5析构函数 2.6二叉搜索树的完整实现 3.二叉搜索树的应…

「Mac畅玩鸿蒙与硬件24」UI互动应用篇1 - 灯光控制小项目

本篇将带领你实现一个互动性十足的灯光控制小项目&#xff0c;用户可以通过点击按钮来控制灯光的开关。该项目将涉及状态管理、动态图片加载以及按钮交互&#xff0c;是学习鸿蒙应用开发的重要基础。 关键词 UI互动应用状态管理动态图片加载用户交互 一、功能说明 在这个灯光…

自制inscode项目推荐:色块小游戏

小编的inscode部署项目&#xff1a;割绳子游戏。 更多精彩内容见InsCode - 让你的灵感立刻落地~ 介绍一下项目及玩法。 游戏概述 颜色匹配小游戏是一款基于HTML、CSS和JavaScript开发的简单而有趣的网页游戏。游戏的目标是通过点击颜色块&#xff0c;将整个游戏板上的所有方块…

DevOps赋能:优化业务价值流的实战策略与路径(下)

下篇&#xff1a;加速工作项流动与持续改进优化 —— 跨越差距&#xff0c;迈向卓越交付 在上篇中&#xff0c;我们已经深入探讨了看板方法的四大核心实践&#xff0c;它们共同致力于实现“顺畅且高质量地交付价值”的终极目标。然而&#xff0c;理想与现实之间往往存在一定的…

使用带有令牌认证的 Jupyter Notebook 服务器

当你不想在默认浏览器打开Jupyter Notebook,但是在其他浏览器打开http://localhost:8890/lab或者http://localhost:8889/tree&#xff0c;却显示 Token authentication is enabled&#xff0c;如下图 可以按以下步骤操作&#xff1a; 获取令牌&#xff1a;在启动 Jupyter Note…

FRIENDLYARM Tiny6410 superboot烧写进sd卡教程

友善之臂真的垃圾&#xff0c;pdf乱不说&#xff0c;资料在哪也不说&#xff0c;没有视频教程&#xff0c;就染你自己去一堆资料里找&#xff0c;** superboot在资料B盘tooles-image里 注意有些朋友scan不到sd卡是因为没有给这个软件开启管理员模式&#xff0c;他没权限去扫描…

宝藏虚拟化学习资料大全

最近发现了关于虚拟化的宝藏资料&#xff0c;瑞斯拜&#xff01;原文链接如下&#xff1a; 500篇关于虚拟化的经典资料&#xff0c;含CPU虚拟化&#xff0c;磁盘虚拟化&#xff0c;内存虚拟化&#xff0c;IO虚拟化。 目录 &#x1fa90; 虚拟化基础 &#x1f343; 虚拟化分类&…

C++模拟真人动态生成鼠标滑动路径

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序&#xff0c;它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言&#xff0c;原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势&#xff1a; 模拟…

【Redis实践】使用zset实现实时排行榜以及一些优化思考

文章目录 1.概述2.zset的基本概念说明2.1.数据结构说明2.2.zset做排行榜的指令 3. 项目中的实践3.1.RedisTemplate实现排行榜3.2.可能存在的问题及解决方案3.2.1. 限制成员的数量3.2.2.保留当前分数与最高分数3.2.3.批量操作成员分数&#xff0c;减少并发 4.总结 1.概述 我们在…

C++_STL_xx_番外01_关于STL的总结(常见容器的总结;关联式容器分类及特点;二叉树、二叉搜索树、AVL树(平衡二叉搜索树)、B树、红黑树)

文章目录 1. 常用容器总结2. 关联式容器分类3. 二叉树、二叉搜索树、AVL树、B树、红黑树 1. 常用容器总结 针对常用容器的一些总结&#xff1a; 2. 关联式容器分类 关联式容器分为两大类&#xff1a; 基于红黑树的set和map&#xff1b;基于hash表的unorder_set和unorder_ma…

【LwIP源码学习4】主线程tcpip_thread

前言 本文对lwip的主要线程tcpip_thread进行分析。 正文 tcpip_thread是lwip最主要的线程&#xff0c;其创建在tcpip_init函数中 sys_thread_new(TCPIP_THREAD_NAME, tcpip_thread, NULL, TCPIP_THREAD_STACKSIZE, TCPIP_THREAD_PRIO);tcpip_init函数被TCPIP_Init函数调用。…

光圈,感光度,感光器件

光圈&#xff08;通光孔&#xff09;&#xff0c;是一个用来控制光线透过镜头进入机身内感光面光量的装置&#xff0c;通常设置在镜头内。通常&#xff0c;我们用f值来表达光圈大小。通俗来说&#xff0c;摄像机镜头拍照时&#xff0c;不可能随意改变镜头直径&#xff0c;但可以…