ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 779846526

[求助] 再求分组问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-5-23 10:10 | 显示全部楼层
779846526 发表于 2024-5-22 14:54
谢谢您的关注与回贴,的确是设置条件是出错了,如果出现无解时,程序直接提示无解,1楼附件与重新更新, ...

我费了很大的力气写了一段代码,但没有用到你的移动列的方法,而是用了我自己的算法;
在表三中有相关的批注说明,代码本身我感觉并不完善,所以只能作为一个参考;

托管分组.rar

50.35 KB, 下载次数: 9

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-23 11:19 | 显示全部楼层
fanyoulin 发表于 2024-5-23 10:10
我费了很大的力气写了一段代码,但没有用到你的移动列的方法,而是用了我自己的算法;
在表三中有相关的 ...

万分感谢您的帮忙,谢谢您,我先学习下如何有,有什么问题再麻烦您

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-23 11:37 | 显示全部楼层
fanyoulin 发表于 2024-5-23 10:10
我费了很大的力气写了一段代码,但没有用到你的移动列的方法,而是用了我自己的算法;
在表三中有相关的 ...

估计是我没有把问题表达清楚,测试时发现A老师只安排了4个班,每个班级安排了6天,正确的结果是他要安排在11个班级,每个班级都只能安排2天

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-23 11:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
fanyoulin 发表于 2024-5-23 10:10
我费了很大的力气写了一段代码,但没有用到你的移动列的方法,而是用了我自己的算法;
在表三中有相关的 ...

非常感谢老师的帮忙,估计是我没有表达清楚,一楼重做了说明,不知您能不能明白

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-23 11:52 | 显示全部楼层
本贴一楼重做了说明,请各位帮忙再看看,再次感谢关注与帮忙的好心人

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-23 12:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本贴期待懂规划求解或递归算法的老师的帮忙,跪谢

TA的精华主题

TA的得分主题

发表于 2024-5-23 16:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
779846526 发表于 2024-5-23 12:17
本贴期待懂规划求解或递归算法的老师的帮忙,跪谢

我认为你这个问题可能是无法编程的:

1、按照表三的结果,你实际上可以对调任意列,其结果都是正确的,这就说明这个问题它不是唯一解,它有很多正确的解。我认为代码对非唯一解的问题是很难应对的;
2、你既然是从别人那里得到的算法,你可以直接找他要代码。我猜测原代码可能不是按照你这个意思来求解的,你或许是想把它扩展到你的应用中;
3、你或许没有意识到,这个问题的排列组合数量非常庞大。举例来说:A有11个托管班级,任取4个为一组,总共有330种可能性,再乘6天,就有330*6=1980种不同的组合。再考虑B的组合数量(它也是1980种),那么A*B的组合就是个十分庞大的数量,再加上其它那么多的组合,你应该能想象数量的庞大,这不是能用简单递归实现的;
4、单就技术层面而言,对调列毫无意义,因为对调列意味着你也必须与原代码有相同的算法,否则你就不可能得到相同的结果,再结合前面所说的数量庞大而且是非唯一解的情况,这就让问题变得非常难以解决;

我只是就我所想发表我的观点,也可能是我理解不深,未能理解到问题的核心;

TA的精华主题

TA的得分主题

发表于 2024-5-23 18:17 | 显示全部楼层
本帖最后由 jx928867128 于 2024-5-23 18:29 编辑
fanyoulin 发表于 2024-5-23 16:55
我认为你这个问题可能是无法编程的:

1、按照表三的结果,你实际上可以对调任意列,其结果都是正确的 ...

谢谢你的关注与帮忙,这个问题的附件是我曾经发过的,表三的结果是人工调成的,曾在论坛发了近2的,一直没解决,坛友的回复说是用递归或规划求解可以解决,我完全不懂的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-23 18:32 | 显示全部楼层
fanyoulin 发表于 2024-5-23 16:55
我认为你这个问题可能是无法编程的:

1、按照表三的结果,你实际上可以对调任意列,其结果都是正确的 ...

万分感谢您的付出,再次谢谢您,附件中的数据是坛友做的,我不清楚他是如何得到表三的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-23 20:08 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 03:40 , Processed in 0.039966 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表