当前位置: 首页 > wzjs >正文

学网站建设多久能学会长沙市天心区建设局网站

学网站建设多久能学会,长沙市天心区建设局网站,网站开发PRD,中国防疫政策文章目录 前言一、get_random_problems 函数分析二、augment_xy_data_by_8_fold 函数分析代码 前言 该笔记分析代码的功能是生成随机VRP问题的数据,包含仓库坐标、节点坐标和节点需求。 对该代码进行改进 20250412-代码改进-拟蒙特卡洛 一、get_random_problems 函…

文章目录

  • 前言
  • 一、get_random_problems 函数分析
  • 二、augment_xy_data_by_8_fold 函数分析
  • 代码


前言

该笔记分析代码的功能是生成随机VRP问题的数据,包含仓库坐标、节点坐标和节点需求。

对该代码进行改进
20250412-代码改进-拟蒙特卡洛


一、get_random_problems 函数分析

depot_xy = torch.rand(size=(batch_size, 1, 2))
  • 生成仓库坐标:
    • 生成形状为(batch_size, 1, 2) 的随机张量,表示每个批次中仓库的二维坐标(范围 [0,1))。
node_xy = torch.rand(size=(batch_size, problem_size, 2))
  • 生成节点坐标:
    • 生成形状为 (batch_size, problem_size, 2) 的随机张量,表示每个批次中所有节点的二维坐标。
if problem_size == 20:demand_scaler = 30
elif problem_size == 50:demand_scaler = 40
elif problem_size == 100:demand_scaler = 50
node_demand = torch.randint(1, 10, size=(batch_size, problem_size)) / demand_scaler
  • 生成节点需求:
    • 根据 problem_size 选择缩放因子 demand_scaler
    • 生成 1~9 的整数需求,并缩放到 [1/50, 9/50] 等区间,确保需求值为浮点数。

二、augment_xy_data_by_8_fold 函数分析

功能:通过8种几何变换对坐标数据进行增强,扩充数据集。

x = xy_data[:, :, [0]]  # 提取x坐标
y = xy_data[:, :, [1]]  # 提取y坐标
  • 拆分坐标:
    • 从输入数据 xy_data(形状 (batch, N, 2))分离出x和y分量。
dat1 = torch.cat((x, y), dim=2)          # 原始坐标
dat2 = torch.cat((1 - x, y), dim=2)      # x轴镜像
dat3 = torch.cat((x, 1 - y), dim=2)      # y轴镜像
dat4 = torch.cat((1 - x, 1 - y), dim=2)  # x+y轴镜像
dat5 = torch.cat((y, x), dim=2)          # 转置坐标
dat6 = torch.cat((1 - y, x), dim=2)      # 转置后x轴镜像
dat7 = torch.cat((y, 1 - x), dim=2)      # 转置后y轴镜像
dat8 = torch.cat((1 - y, 1 - x), dim=2)  # 转置后x+y轴镜像
  • 生成8种变换:
    • 对坐标进行镜像翻转和转置操作,生成8种变体。
aug_xy_data = torch.cat((dat1, dat2, ..., dat8), dim=0)
  • 合并增强数据:
  • 将8种变换后的数据沿批次维度拼接,最终形状为 (8*batch, N, 2)

代码


import torch
import numpy as npdef get_random_problems(batch_size, problem_size):depot_xy = torch.rand(size=(batch_size, 1, 2))# shape: (batch, 1, 2)node_xy = torch.rand(size=(batch_size, problem_size, 2))# shape: (batch, problem, 2)if problem_size == 20:demand_scaler = 30elif problem_size == 50:demand_scaler = 40elif problem_size == 100:demand_scaler = 50else:raise NotImplementedErrornode_demand = torch.randint(1, 10, size=(batch_size, problem_size)) / float(demand_scaler)# shape: (batch, problem)return depot_xy, node_xy, node_demanddef augment_xy_data_by_8_fold(xy_data):# xy_data.shape: (batch, N, 2)x = xy_data[:, :, [0]]y = xy_data[:, :, [1]]# x,y shape: (batch, N, 1)dat1 = torch.cat((x, y), dim=2)dat2 = torch.cat((1 - x, y), dim=2)dat3 = torch.cat((x, 1 - y), dim=2)dat4 = torch.cat((1 - x, 1 - y), dim=2)dat5 = torch.cat((y, x), dim=2)dat6 = torch.cat((1 - y, x), dim=2)dat7 = torch.cat((y, 1 - x), dim=2)dat8 = torch.cat((1 - y, 1 - x), dim=2)aug_xy_data = torch.cat((dat1, dat2, dat3, dat4, dat5, dat6, dat7, dat8), dim=0)# shape: (8*batch, N, 2)return aug_xy_data
http://www.dtcms.com/wzjs/546184.html

相关文章:

  • 可以注册免费网站简约设计网站
  • 江门恒阳网站建设营口网站制作
  • 贵州省网站集约化建设网站建设设计案例网站logo实验报告
  • 银川建网站wordpress 设置中文
  • 网站开发需要掌握技术中国室内设计艺术千年回眸
  • 没固定ip怎么做网站网吧设计装饰公司
  • 企业网站名是什么意思快速搭建网站框架
  • 做任务给钱的网站一个域名怎么做网站
  • 做网站的可以注册个工作室吗wordpress评论字段
  • 响应式网站什么意思泉州网站优化排名
  • 网站空间 上传程序最高法律网站是做啥的
  • 网页上做ppt的网站wordpress被设置不录入
  • 东莞找网站设计培训体系
  • 网站关键词推广做自然排名珠海做企业网站多少钱
  • ysl免费网站建设西安网站建设熊掌
  • 做it的兼职网站有哪些学校电脑课做网站的软件
  • 免费开商城网站网站建设投放广告
  • 备案网站域名和主机关系桂林市内旅游必去景点
  • 网上商城网站怎么做wordpress 微信主题
  • 深圳整站做网站是怎样赚钱
  • 商业图片素材网站网站运营培训机构
  • 上海 顶尖 网站设计新营销方式有哪些
  • No酒类网站建设深圳网站建设微赢天下
  • 怎么做淘宝客导购网站推广德州seo整站优化
  • 物流网站建设策划书的总结专业建站团队
  • 搜索引擎网站推广定义做冰饮视频网站
  • 网站开发实习计划模板品牌策划设计
  • 阿里网站制作需要多少钱网站建设如何接单
  • 做网站可以在哪儿接活免费搭建商业网站
  • 传统文化网站设计广东平台网站建设