选课类别:计划内与自由选修 | 教学类型:理论实验课 |
课程类别:本科计划内课程 | 开课单位:数学科学学院 |
课程层次:专业核心 | 学分:3.5 |
陈士祥老师的《运筹学》课程受到广泛赞誉,尤其是讲义的系统性和条理性得到了学生的高度评价,讲义“可以直接印刷成教材”。课程内容涵盖线性规划、图算法和各种优化算法,注重理论推导,同时兼顾算法应用,课程对非数学专业的学生来说可能“吃力”,但对于有数学基础的学生来说“几乎没有难度”。虽然有学生表示老师的语速较慢,但大多数评价认为陈老师态度认真,教学用心,增加了课程的活力。
课程共有五次书面作业和几个程序化大作业,书面作业难度适中,但程序作业对Matlab等工具不熟练的学生来说“有些困难”。整体任务量不大,ddl充裕。大作业给学生提供了较大自由度,尤其是对于想深入学习的学生来说极具价值。助教也收到了较高的评价,苦劳得到认可。
考试难度被部分学生认为高于预期,但题目多为标准考试内容。期中测验可选择性参加,比重可调整至期末。平时注重点名签到及作业完成,给平时分比较宽松和慷慨。期末考试虽相对较难,但陈老师在总评中加分,使得学生在总评中表现普遍不错。课程整体上给分“实在”,不少学生反映总评高于预期。
陈士祥老师的《运筹学》非常适合作为优化算法的入门课程,尤其对非数院但对优化有兴趣的学生适合。课程虽有难度,但因老师的认真教学和较高的给分弹性,仍是一门推荐的选修课。对于希望在优化和机器学习领域拓展知识的学生而言,该课程具有实际应用价值。但建议学生事先复习相关数学基础,以更好地理解课堂内容。
打一分给牛逼的助教。
写作业每次都被打60分。
PS:我几乎没冲过人,虽然大四老狗了对成绩无所谓了,但不至于装眼瞎吧???
而且没有复查环节直接出总评???大四老狗表示不去教务处计较了,但科大运筹学3.7和几个运筹学最好PhD offer一起来是否是科大本科教育的缩影???
不过相比以前,陈老师教运筹学很用心,也改革了很多,大赞
2024 秋
我来担任这门课的助教了,我非数学专业,很多知识上甚至不如同学们,大家多多包涵。
虽然习题课是一节都没讲,但就我为这个助教工作熬的三次大夜,自认为自己还算配得起这个工资。
2023 秋
感谢老师啊,居然给了我96/(ㄒoㄒ)/~~。
之后可能再来写点东西。
小可爱自作聪明,认为作图法也算单纯形法,给扣了五分😇,期末最后89。现在只能祈祷project不扣分,这样我就是94.5,老师说会给到95😇。
只能说不太走运了,project扣了点分,算下来离4.3差的就是单纯形那5分。不过也无所谓了,学到真本领才是要紧的。
老师下学期接着上本研贯通课“最优化算法”,这次最优化算法不再炒运筹学冷饭了。欢迎大家来选。
有些资料可以看这里,老师参考的是这本书(PKU刘浩洋老师, 户将老师, 李勇锋老师和文再文老师的《最优化:建模、算法与理论/最优化计算方法》)。
最优化:建模、算法与理论/最优化计算方法 (pku.edu.cn)
老师真的把ppt讲义上的东西整理成note了!这样会让我越来越不想记笔记的啊~
我选这门课的目的是高替计科选修课中“运筹学基础”,不过实际上数院的这门课和其他院的还是有挺大不同的。至于我为什么敢选这门课是因为我看前面讲的是线性规划和一些基本的组合优化问题,我都学过了,想着凭着老本可以应付过去。不过老师只花了一个半月时间就把这些东西讲完了。
而后面的内容,我愿称之为“机器学习的数学基础”(本人没学过系统机器学习,所以这段话就当个乐子看),目前来看讲的是各种各样的数值优化算法。这门课应用数学的味道非常浓厚,按照我一个在THU的学长的说法就是“机器学习这东西很多都是先有了一些技术,然后才有人证明这样为什么好”。现在学到的各种各样的算法也是这样的,一些朴实的想法,加以一些优化,可能就有着很好的收敛性。
感觉这门课还是很有趣的,如果我TCS搞不下去了就润去搞ML了😂。
本来担心陈老师作为新来的老师不一定处理得好教课,但是现在看来新老师也给这门课带来的新活力。
陈老师对杨老师的讲义进行了优化,加上了一些motivation,并且简化了一些证明(如:导出线性规划极点的存在性用了直线这一概念,抛弃了之前讲义上的较为复杂的凸集表示定理)。只不过虽然进行了优化,讲义也达不到可以看着自学或者复习的程度(虽然讲义只是个大纲,但我还是贪心一点,而且老师说过想去整理一个note,我就期待一下啦)。所以上课还是比较关键的,老师上课会进行较为充分的引导,并且证明也会在黑板上先写一遍,并尽可能的告诉我们证明中每一步为什么要这么做,上课听着感觉非常舒适。
考完试破防了,一个单纯形反复验算半天一直以为是算错了,转轴运算转不动,开考半小时心态就炸了,大题也一堆不会,空白好多小问,比给的例子难太多了,找个没人的地方哭一会。
占个坑先,出分后细评
丢一个优化算法比较短小精悍的参考书,作者写过数值优化那本书,但有点太厚了,最近新写的这本比较好读
老师小捞一手,不错😋 感觉是给我按比例算再加了两分
课程主要分为两个部分,线性规划、图算法等非连续优化的内容和后半部分连续优化。
课程体验非常好,小测的次数还挺多,不过是为了大家都能拿到这部分的满分,而拿满了后也可以直接不来😋。期中小测部分比例也可直接算入期末成绩中,大大缓解期中季的复习压力。老师考前还会有带大家做题复习环节,非常不错🥰。属于是可以无脑冲的课😍
总的来说这门课算是一个优化的入门课,而不是讲传统的运筹学(可能因为老师是做优化的。如果是对优化有兴趣的完全可以大二上就选这门课,然后大二下再上最优化算法。当然对于大二上的数院同学,可能并不知道优化是什么,但这门课对于想润去做应用或者cs的同学还是可以开拓很多可能的。
老师讲的很好,学不会是我的问题/ll
(作业做破防了来评一下)
这门课收获还是蛮多的,内容大概是前半学期讲线性规划,后半学期讲各种算法。课程穿插许多数学证明内容,感觉对于非数院人来说会有些吃力(比如我),做作业和复习的时候都很痛苦甚至一度想退课
考试比给的模拟题难一些,败在数学上了/ll
妮可什么时候出台最适合信智学部鼠鼠体质的线性代数教程/ll,线性代数B1完全不够用啊
本学期因为叠课申请了不参加小测(将小测分数移到期末),现在看来要因为这个被卡绩了/ll
还没有出分,但来点评。 首先说一下就是我是成绩整体中等的那种,其实运筹学对我来说还是挺困难的,学得有点折磨,期间想过退课。
但是老师人超好啊啊啊!有很认真地在让我们听懂!还会整理讲义,还会讲解大作业,非常平易近人!有回去问问题,讲台周围本来是有比较厉害的同学问我听不懂的问题,问完之后还在讨论,我就不太敢现在过去(对我就是觉得丢人),但是老师发现了我这个在附近瑟瑟发抖的鼠鼠,特别温和地问我有什么问题,然后很耐心地解答了,解答之后我发现其实老师上课讲了,但是我没有跟上,不过就算这样老师还是讲得很耐心很温和,感动哭了。
期末感觉还挺正常的,我考不好的话就是我自己的问题。
不过大作业对我这种跟matlab不太熟的非计数人来说有点困难了,折磨了一阵子orz
有无去年学过的同学说说期末考了什么啊😭非数人真看不懂巨量的证明
等到出分再来细细评论
--------------
虽然未出分,但还是想来夸夸你祥
这门课在教学时数学论证部分比较多,非数院的同学体验会比较差
但我在这门课上的体验十分不错:
1.点名签到比较宽松,很容易水满平时分
2.作业得分不与正确率强相关
3.考前有习题课且考点明确
4.sildes总结的很好,节约了总结ppt的时间
5.优秀率给满
6.最后为大多数同学加了总评
ps:一个老师的教学水平千人千面,但是不是用心让学生学的舒服大家心中有数
希望陈老师在未来的教学一帆风顺
期末改完了,卷子改的挺松的,最后一题有两个伪证的地方没扣什么分。
个人认为这张卷子出的不怎么样,算法考的太少了,像验证凸函数完全没必要考,没啥意义。
课程一共就十个左右的算法,数量上不多,但每个算法其实课外还是有很多可以深究的地方的,如果只是应付考试,花一两周突击一下应该没问题,但个人认为,对于计数来说,这门课应该是这学期最有价值的课程,建议好好学一下。
关于实验,强烈建议数院同学多花点时间自己完成,相比于数学实验那种垃圾实验和数值代数那种纯用来练习代码的实验,这种完整的实验项目更有价值,当然,这是建立在你想学东西的基础上,想混的话抄就好了。
注:老师作为第一次带课的老师,讲义写的不是很好(个人观点),有不懂的建议多看看知乎的相关文章,或者直接看英文教材。
老师讲课属于语速较慢的,这点被身边许多人诟病,讲课风格一百个人眼里有一百个哈姆雷特,但是老师对这门课的态度以及用心程度是毋庸置疑的(从逻辑清晰甚至可以直接印刷成教材的讲义可以看出来)
期末比期中高有点难绷 最后总评4.0 他给的实在是太多了
上半学期的内容基本为线性规划,下半学期则介绍各种非线性规划的最优化算法,包括其基本思想,迭代步骤,收敛性分析以及一些应用,基本两节课过一个算法,内容还是比较丰富的
有五次小作业和三选二的三个大作业,小作业基本是老师课上内容的一些gap或者拓展,有些小难但题量比较少,总的来说任务量较轻
有录播而且讲义质量高,对早上爬不起来的懒鬼友好(比如我),看讲义基本能学个七七八八,再看看录播足够应付考试了
建议可以自己看一遍文再文老师的最优化方法(就是陈老师后半学期讲义的主要参考书),会比较有收获
本人第一次接触运筹学,上课时经常看不懂PPT,作业也不太会,大作业也做得马马虎虎,靠期末陈老师与助教老师们发的习题答案和文再文老师的《最优化》查漏补缺,在期末考试中取得的了一个相对不错的成绩。不过这门课确实给我带来了许多收获:熟悉了应用Python编程,学到了一些有用的优化算法,并且为接触机器学习深度学习的内容打下了一定的基础。最后再次感谢一下陈老师和三位助教老师🌹
辅修 CS 人,选这门课是单纯是想了解一下这门课所涉及的一些算法,因为是辅修也没有什么成绩的压力。
坦白说这门课强度比我预期中要高不少,因为很久没碰过线性代数导致这门课学得磕磕绊绊。有不少内容从直观上很好理解但是写成矩阵变换的形式后就不太好把握。期末速通的时候有点后悔没有退课,一度担心挂科。所幸期末考卷上还有些单纯形表、手算最短路的题目能够保底。
虽然没怎么去上过课,但是能感受到陈老师是个非常好的人。助教们也都很尽职,很少能见到这种高质量的 Lecture Notes 和作业解答,为老师和三位助教点赞👍
后来的同学如果希望学到东西的话,可以多花点时间好好想清楚每一个算法的适用范围,这是我觉得这门课最重要的内容。
比按比例算的高了快 8 分。大恩不言谢,跌!
21管统大四人,这学期一节课没去过。虽然说凸优化都学过一些,有些还是好生疏。做题技术基本上范数不等式和泰勒展开加矩阵求导。离考前还有9个小时,还有5个lecture没看,还有希望吗
复习的快要崩溃。压力最大的一个期末周,可能是大三老灯已经没有激情应付考试了。
讲课太平淡了没有什么起伏,太催眠了同志们
讲得好不好不知道,因为听不懂思密达
讲的真挺好的,学不好真是我的问题,泪目了。
1.最重要的改变:
有了能看的(系统\流畅\错误少\讲人话)讲义,自学不会痛苦。看过yzw的讲义的人都应该知道这是多么重要的一件事
2.关于课程内容:
线性规划,网络流(重点内容),非线性规划(算法多,介绍为主)。差不多20个算法,算法内容主要就是:①对问题抽象化② 引入对应的数学概念和工具,有些新概念也是根据对应问题量身定做③算法实现④收敛性分析
前三点尤为重要,这对于正常上好数分A2和线代的数院人,难度几乎是没有的,需要的是时间。第四点基本不要求,故这门课的难度甚至不如隔壁数值代数了
3.作业:
书面作业:一章几道题,是一些算法涉及的小gap,量少难度适中
程序作业:实现比较重要的算法,一共三个。语言无要求,建议用python,C++,MATLAB,配合AI难度不大,工作量主要是良好格式的实验报告(2024年了不会还有人写代码不用AI辅助吧)
4.考核:平时+期中(可选)+期末。期中可不来,比重划到期末,给分是非常捞的,水学分可无脑选
5.其他:
这门课是一门保姆课,陈老师基本已经把饭喂到嘴边了,这和yzw走了两个极端,不过显然,一份好讲义和一个好课堂更加珍贵
另,虽然讲义整理得很好,但是有些地方仍然可以参考知乎,会更易理解
最后,吐槽一下期末发卷,居然采用了蛇形方式,可能是助教gg最小化了效率吧(无恶意
运筹学是一款我的问题
先说结论,推荐所有其他学院的同学来选修运筹学。本人非数、非大数据,纯纯因为对优化感兴趣,所以选了这门课。
关于课堂
陈老师上课讲的节奏整体较慢,而且讲的很好,对于我这样数理基础不好的信智人来说,一般上课认真听都能听懂大部分,不过对于一些算法的收敛性证明和较为抽象的概念、定理(比如切锥、线性可行锥、几个约束品性条件等)就需要提前看一看讲义,这些内容对非数的人来说可能有些难度。课上陈老师会举很多应用方面的例子,印象最深刻的是在罚函数那一节举了一个协同过滤的例子,这刚好是徐童老师的Web信息处理与运用的lab1的推荐部分。
作业和实验
作业一共有五次,每次给的ddl都挺长的(至少两周以上),有几次作业有点难度,花了比较多的时间。
实验的难度也不大,就是最好不要等到最后一天才写。
考试与给分
考试前老师会给出一个题库,在最后一周的课上老师会讲这些题,但是考试的题目会比给出的例题难一些(说实话例题对我来说已经够难的了),需要下一些功夫准备,最好看看矩阵求导、SVD分解这些内容,本人考试时有一道题因为矩阵求导的公式忘了,自己推也没推对,连迭代公式都只能乱糊一个,倒在了最基本的矩阵求导上了。
平时分拉满,总评比我自己按照比例算出来的高8分,可以说是给分非常好了。
陈老师yyds,太奶了
神,薄纱yzw的神👍
老师的投入大家都看在眼里,出卷也没有为难大家,只能说陈老师yyds