下载安装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,一经查实,立即删除!

相关文章

Python自动化运维:技能掌握与快速入门指南

#编程小白如何成为大神&#xff1f;大学生的最佳入门攻略# 在当今快速发展的IT行业中&#xff0c;Python自动化运维已经成为了一个不可或缺的技能。本文将为您详细介绍Python自动化运维所需的技能&#xff0c;并提供快速入门的资源&#xff0c;帮助您迅速掌握这一领域。 必备…

深入理解跨域资源共享(CORS)安全问题原理及解决思路

目录 引言 CORS 基础 CORS 安全问题原理 解决思路 结论 引言 跨域资源共享&#xff08;CORS, Cross-Origin Resource Sharing&#xff09;是现代Web应用中不可或缺的一部分&#xff0c;特别是在前后端分离的架构中。CORS允许一个域上的Web应用请求另一个域上的资源&#…

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

一、建设背景 根据国家统计局的数据&#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工程师 精选面试…

C++编程法则365天一天一条(303)异步编程之std::promise和std::future

文章目录 主要特点基本用法示例代码使用场景注意事项std::promise 是 C++11 引入的一个模板类,位于 <future> 头文件,用于实现异步操作中的值传递和异常传递。它与 std::future 一起使用,提供了一种机制,使得一个线程可以将结果或异常传递给另一个线程。 主要特点 异…

计算机网络-以太网小结

前导码与帧开始分界符有什么区别? 前导码--解决帧同步/时钟同步问题 帧开始分界符-解决帧对界问题 集线器 集线器通过双绞线连接终端, 学校机房的里面就有集线器 这种方式仍然属于共享式以太网, 传播方式依然是广播 网桥: 工作特点: 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;将整个游戏板上的所有方块…

YOLOv6-4.0部分代码阅读笔记-effidehead_distill_ns.py

effidehead_distill_ns.py yolov6\models\heads\effidehead_distill_ns.py ‌YOLOv6中的EffideHead模块主要有三种变体&#xff1a; EffideHead_Distill_NS 、 EffideHead_FuseAB 和 EffideHead_Lite &#xff0c;它们在功能和设计上有所不同。‌ EffideHead_Distill_NS &am…

自动驾驶-端到端大模型

文章目录 端到端大模型基本概念:优势特点:应用领域:面临的挑战:自动驾驶端到端大模型技术原理:优势:面临的挑战:自动驾驶的端到端大模型用了什么技术?深度学习技术:多模态数据融合技术:强化学习技术:模型压缩与优化技术:数据增强技术:端到端大模型 端到端大模型是…

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…

数学建模学习(134):使用Python基于WISP的多准则决策分析

WISP算法技术性文章 1. 算法介绍 WISP(Weighted Independent Set Problem)是一种优化算法,主要用于解决图论中的加权独立集问题。加权独立集问题是一个经典的组合优化问题,涉及从一个图中选择一个独立的顶点集,使得所选顶点的总权重最大。这个问题在计算机科学、运筹学、…

FRIENDLYARM Tiny6410 superboot烧写进sd卡教程

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